2017-01-09 2 views
0

Я использую HTML2PDF для создания PDF-текста из текстового поля и изображения, загруженного пользователем. Я использую блок стиля для настройки CSS, который отлично работает, полученный PDF-файл выглядит так, как я хочу.HTML2PDF - Сгенерированный PDF недействителен CMYK black (0,0,0,100%)

Однако, как предполагается, PDF должен печатать без каких-либо дополнительных преобразований. И тут приходит моя проблема:

Когда я осматривая PDF Текст и черный граница PDF НЕ CMYK 0% 0% 0% 100%, но вместо того, чтобы некоторые странные вещи, как CMYK 22% 46% 17% 94%, что означает, что он не должен быть напечатан, потому что каждая буква будет напечатана 4 раза (по крайней мере, это то, что мне сказали, я ничего не знаю о печати, я просто знаю, что это должно быть 0 0 0 100% ~)

EDIT: Чтобы избежать путаницы: Это будет в основном черный текст на белом фоне с черной окантовкой, думать объявления, объявления из печатного журнала. Изображения, добавленные в классифицированные, не должны быть 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

ok, вы можете связаться с ними и посмотреть, действительно ли на принтере требуется 100%. У меня действительно есть сомнения. – three

ответ

0

У вас возникли проблемы! Используя HTML2PDF, нет способа создать настоящий документ CMYK, который необходим для вашей цели. Цветовое преобразование никогда не достигнет (субъективного) результата, которого вы хотите, и всегда смешивайте 70% голубого, 40% красного или что-то вроде этого.

Я бы хотел, чтобы отдел печати позаботился о автоматизации/интеграции данных в их печатный продукт, или если это невозможно, напишите сценарий для Photoshop, который создает настоящий документ CMYK и добавляет к нему слои с текстом и изображениями ,

Или как третий вариант, возможно, можно отправить содержимое документа без какой-либо границы, и пусть принтеры добавляют сплошную 100% -ную границу.

Причины «почему» это так сложно, достаточно сложны (аддитивный и субтрактивный цвет, цветовые пространства, практические соображения, такие как «сплошные черные пятна, плохо выглядят в растровых изображениях» и т. Д.), И вы можете потратить несколько поворотов на любой университет, занимающийся с ними. Привлекательное поле, кстати, если вы найдете идеальное решение.

Смежные вопросы