Как свести / объединить все слои в PHP TCPDI / TCPDF - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь сгенерировать PDF-файл с использованием TCPDF / TCPDI, но затем выровнять PDF-файл, чтобы он стал PDF-файлом на основе изображений. В результате PDF-файл будет недоступен для выбора, и в идеале он будет запрещать Adobe разрешать редактирование текста.

Из того, что я прочитал, это не то, что возможно только с TCPDF, однако я недавно пришел через веб-сайт, который делает именно это и заявляет, что он был сгенерирован FPDF.

Мне удалось получить результаты, передав его через TCPDF, а затем используя Ghostscript pdfimage24.

$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdfdata = file_get_contents('docs/original.pdf');

$pagecount = $pdf->setSourceData($pdfdata);
for ($i = 1; $i <= $pagecount; $i++) {
    $tplidx = $pdf->importPage($i);

    $pdf->AddPage();
    $pdf->useTemplate($tplidx);

    // PDF INFO TO MERGE HERE

}

$pdf_out = $pdf->Output($before, 'F');

exec('gs -q -dNOPAUSE -sDEVICE=pdfimage24 -r300 -dDownScaleFactor=3 -sOutputFile=docs/after.pdf docs/before.pdf -c quit');

Как Я новичок в PHP, мой вопрос был бы, это прямо сейчас к go об этом, может ли это сильно повлиять на производительность и есть ли способ получить результат в TCPDF, который основан на FPDF, чтобы сгладить изображение таким образом.

Заранее спасибо.

1 Ответ

0 голосов
/ 17 апреля 2020

Мне не ясно, почему вы отметили это Ghostscript, GS, кажется, ведет себя именно так, как вы просили.

Вы можете предотвратить копирование текста (если это ваша реальная цель), выбрав pdfwrite device и -dNoOutputFonts вместо рендеринга в изображение. Это все равно будет больше, чем при использовании исходного файла со шрифтами, но вы, конечно, не сможете скопировать / отредактировать текст, потому что их не будет (вместо этого весь «текст» рисуется в виде векторных путей)

Превращение файла PDF в изображение приведет к получению файла, который будет большим и плохо масштабируется, или если вы сохраните низкое разрешение, чтобы сохранить небольшой файл, он не будет разборчивым. Если вы по какой-то причине не хотите, чтобы PDF-файл состоял из ничего, кроме растрового изображения, я бы этого не сделал.

...