HTML2PDF-生成的PDF isn';t真CMYK黑色(0,0,0100%)

HTML2PDF-生成的PDF isn';t真CMYK黑色(0,0,0100%),html,pdf,html2pdf,cmyk,Html,Pdf,Html2pdf,Cmyk,我使用从textarea输入的文本和用户上传的图像生成PDF。我使用一个样式块来设置CSS,效果很好,生成的PDF看起来和我想要的一模一样 然而,PDF应该直接打印出来,没有任何额外的转换。我的问题来了: 当我检查PDF时,PDF的文本和黑色边框不是CMYK 0%0%0%100%,而是一些奇怪的东西,比如CMYK 22%46%17%94%,这意味着它不应该被打印,因为每个字母将被打印4次(至少有人告诉我,我对印刷一无所知,我只知道它必须是100%~) 编辑:为避免混淆:这将主要是白色背景上的黑色

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

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

当我检查PDF时,PDF的文本和黑色边框不是CMYK 0%0%0%100%,而是一些奇怪的东西,比如CMYK 22%46%17%94%,这意味着它不应该被打印,因为每个字母将被打印4次(至少有人告诉我,我对印刷一无所知,我只知道它必须是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"); ?>

您遇到了一个问题!使用HTML2PDF,无法创建真正的CMYK文档,这是您所需要的。颜色转换永远不会达到您希望的(主观)结果,并且始终混合70%青色、40%红色或类似的颜色

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

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


“为什么”如此困难的原因相当复杂(加法与减法颜色、颜色空间、实际考虑因素,如“光栅图像中的实心黑点看起来不好”等)你可以在任何一所大学花一些时间来处理这些问题。顺便说一句,如果你找到了一个完美的解决方案,这是一个利润丰厚的领域。

据我所知,你不会打印100%黑色,因为它看起来和100%白色一样糟糕。你打印过吗?如果你想尝试另一个基于电子(铬)的库的话你也可以试试看,效果也很好。@3我无法访问实际的打印机。一些上下文:用于此的pdf主要是黑色文本和偶尔的图像,基本上是杂志中的分类广告/广告。我可能必须从你的链接尝试渲染服务,但我不想使用任何不同的内容。你可以进入联系他们,看看打印是否真的需要100%。我真的有疑问。@3哦,这就是为什么我在这里寻找解决方案的原因。我生成的PDF以及客户从我那里收到的PDF不适合打印,因为(至少他们都这么告诉我,我也不知道打印):打印时,它将在每个字母上应用4层。1层青色、1层洋红、1层黄色和1个键“黑色”。转到此页面并检查如何执行此操作。但是,如果没有正确的后端来处理内容,则可能无法执行此操作。这将显示在扩展HTML元素中指定但使用不同后端服务格式化的CMYK和Pantone颜色。