2017-01-09 121 views
0

我使用HTML2PDF从textarea输入的文本和用户上传的图像生成PDF。我正在使用样式块来设置CSS,效果很好,生成的PDF看起来完全像我想要的。HTML2PDF - 生成的PDF不正确CMYK黑色(0,0,0,100%)

但是,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%

任何帮助非常感谢。

+0

就我所知,您不打印100%黑色,因为它看起来不如100%白色。你打印了吗?如果你想尝试另一个基于Electron(Chrome)的库,你可以试试https://github.com/msokk/electron-render-service,它也能很好地工作。 – three

+0

@three我无法访问实际的打印机。一些背景:用于此的pdf大多为黑色文本和偶尔的图像,基本上在杂志中分类/广告。我可能不得不从你的链接尝试渲染服务,但我不想使用任何不同的东西 – ekrow

+0

好的,你可以联系他们,看看打印是否真的需要100%。我真的怀疑。 – three

回答

0

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

我会让打印部门负责将数据自动化/整合到他们的打印产品中,或者如果这是不可能的话,请为Photoshop创建一个真正的CMYK文档并为其添加包含文本和图像的图层的脚本。

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

“为什么”这样做很困难的原因是非常复杂的(添加剂与减色,色彩空间,实际考虑因素如“实心黑点在光栅图像中看起来不好”等),并且您可以花费一些时间大学与他们打交道。顺便说一句,如果你找到一个完美的解决方案,一个有利可图的领域