2017-01-09 123 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%黑色邊框。

「爲什麼」這樣做很困難的原因是非常複雜的(添加劑與減色,色彩空間,實際考慮因素如「實心黑點在光柵圖像中看起來不好」等),並且您可以花費一些時間大學與他們打交道。順便說一句,如果你找到一個完美的解決方案,一個有利可圖的領域