HTML2PDF - 生成的 PDF 不是真的 CMYK 黑色 (0,0,0,100%)



我使用HTML2PDF从文本区域输入的文本和用户上传的图像生成PDF。我使用了一个样式块来设置CSS,效果很好,生成的PDF看起来和我想要的一模一样。

然而,PDF应该直接打印,而不需要任何额外的转换。我的问题来了:

当我检查PDF时,PDF的文本和黑色边框不是CMYK 0%0%100%,而是一些奇怪的东西,比如CMYK 22%46%17%94%这意味着它不应该打印,因为每个字母都会打印4次(至少我被告知是这样,我对打印一无所知,我只知道它必须是0 0 0 100%~)

编辑:为了避免混淆:这将主要是黑底黑框的黑色文本,想想分类广告,印刷杂志的广告。添加到分类中的图像不需要100%为黑色。

我使用的一些代码

<?php echo "
<style>
.contentwrapper {
position: relative;
}
.contentpdf {
border: 1mm;
border-style: solid;
border-color: #000000;
padding: 1mm;
position: absolute;
word-wrap: break-word;
word-break: break-all;
text-align: justify;
height: 50mm;
width: 100mm;
line-height: 2.5mm;
color: #000000;
font-family: 'Arial';
}
h1 {
font-size: 3.5mm;
line-height: 5mm;
margin: 0 0;
margin-top: 0mm;
margin-bottom: 0mm;
padding: 0 0;
color: #000000;
font-family: 'Arial';
}
p {
font-size: 2.5mm;
margin: 0 0;
margin-bottom: 0.5mm;
margin-top: 0.5mm;
padding: 0 0;
color: #000000;
font-family: 'Arial';
}
b, strong {
word-break: break-all;
word-wrap: break-word;
}
</style>
<page format='" . $width . "x" . $height ."' orientation='" . $orientation ."' backcolor='#FFFFFF'>
<div class='contentwrapper'>
<div class='contentpdf'>
" . $html  ."
</div>
</div>
</page>";
$content = ob_get_clean();
$html2pdf = new HTML2PDF('L', 'A4', 'de', false, 'UTF-8', array(0,0,0,0));
$html2pdf->setDefaultFont('Arial');
$html2pdf->WriteHTML($content);
$file = "output.pdf";
$html2pdf->Output($file, "F"); ?>

基本上,我根本不知道为什么PDF是那些奇怪的值,而不是CMYK 0 0 100%

感谢您的帮助。

您有问题!使用HTML2PDF,无法创建真正的CMYK文档,这是您的目的所必需的。颜色转换永远不会达到你想要的(主观)结果,总是混合70%的青色、40%的红色或类似的颜色。

相反,我会让打印部门负责将数据自动化/集成到他们的打印产品中,或者如果这不可能的话,为Photoshop编写一个脚本,创建一个真正的CMYK文档,并在其中添加带有文本和图像的层。

或者作为第三种选择,也许可以提交没有任何边框的文档内容,并让打印机添加一个100%实心的黑色边框。

这之所以如此困难,原因非常复杂(增色与减色、颜色空间、"光栅图像中的实心黑点看起来很糟糕"等实际考虑因素),你可以在任何大学花一些时间来处理它们。顺便说一句,如果你找到一个完美的解决方案,这是一个利润丰厚的领域。

最新更新