Откройте PDF с PHP и поместите в него текст - PullRequest
1 голос
/ 05 марта 2010

У меня есть PDF с изображением (логотипом)

Я хочу открыть его с помощью PHP, написать поверх него текст и сохранить его в файловой системе.

Я делал это раньше с помощью инфраструктуры Zend, но в этом проекте используется воспламенитель кода, поэтому мне нужен либо автономный плагин lib, либо плагин воспламенителя кода.

спасибо

Ответы [ 3 ]

2 голосов
/ 05 марта 2010

Zend_Pdf является автономной библиотекой.

Zend Framework специально разработан с архитектурой Use-At-Will, поэтому вы можете использовать большинство компонентов без (или очень незначительных) зависимостей от других компонентов в платформе.

Чтобы использовать Zend_PDF в Code Igniter, поместите папку Zend / Pdf в путь включения вашего CI-проекта, чтобы он был доступен. Затем включите его с

// Load Zend_Pdf class 
require_once('Zend/Pdf.php'); 

См. Этот (общий) учебник:

1 голос
/ 14 апреля 2013

Вы можете попробовать установить следующий заголовок:

<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');
// The PDF source is in original.pdf
readfile(base_url($pdf->URL));
?>
1 голос
/ 05 марта 2010

В моем опыте, первый вопрос, который вы должны задать: откуда взялся оригинальный pdf?

Хотите ли вы создать pdf из php как шаблон, а затем вставить текст во второй раз?

Или вы создаете pdf другими способами, а затем выполняете его через php?

В первом случае перейдите с помощью zend pdf и запишите свой класс для его обработки.

Во втором случае вам может потребоваться взглянуть на pdftk , который позволяет объединить файл PDF с файлом PDF.

Вот пример с формами (и файлом createFDF.php), но поведение может быть применено многими другими способами ...

Это довольно просто:

<?php
require_once('createFDF.php');
$data = array(
    'field_1' => 'Text 1',
    'Field_2' => 'Text 2
);
$FDF_file = 'myfile.fdf';
$PDF_file = 'mypdf.pdf';
$PDF_source = 'your-pdf-original-file.pdf';

$fdf_data = createFDF($PDF_source, $data);
$fh = fopen($FDF_file, 'w');
fwrite($fh, $fdf_data);
fclose($fh);
?>
<h2>File FDF created.</h2>
<?php
passthru("pdftk $PDF_source fill_form $FDF_file output $PDF_file flatten");
?>
<h2>Pdf merged.</h2>

но вам нужно будет вручную создать оригинальный pdf-файл с формами (или, насколько я знаю, нет инструментов для его создания через php)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...