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

时间:2017-01-09 15:23:45

标签: html pdf html2pdf cmyk

我正在使用HTML2PDF从textarea输入的文本和用户上传的图像生成PDF。我正在使用样式块来设置CSS,效果很好,生成的PDF看起来与我想要的完全一样。

然而,PDF应该直接打印而无需任何额外的转换。这就是我的问题:

当我检查PDF时,PDF的文字和黑色边框不是 CMYK 0%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 0 100%

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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

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

或者作为第三种选择,也许可以在没有任何边框的情况下提交文档内容,并让打印机添加稳固的100%黑边框。

原因&#34;为什么&#34;这是如此困难是非常复杂的(加性与减色,色彩空间,实际考虑因素如&#34;光栅图像中的实心黑点看起来很糟糕&#34;等等)你可以在任何一所大学处理它们。如果你找到一个完美的解决方案,那么这是一个有利可图的领域。