Как конвертировать документы в PDF в стеке Linux / PHP? - PullRequest
8 голосов
/ 18 декабря 2008

Я хочу отображать документы на моем сайте. Сервер размещен на компьютере Debian. Я думал, что смогу разрешить загрузку документов поддержки, а затем использовать приложение Linux или приложение PHP, чтобы преобразовать документ в PDF и отобразить его на странице HTML. Существуют ли какие-либо API или двоичные файлы, которые позволяют мне это делать?

Ответы [ 5 ]

3 голосов
/ 18 декабря 2008

Если это офисный документ, одним из вариантов будет использование openoffice в автономном режиме. Смотрите здесь скрипт на python, который показывает как: http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html

Если это какой-либо другой тип документа (например, ваш собственный XML-документ), вам придется проделать немного больше работы. Я имел некоторый успех, используя XSL для определения перевода в формат docbook, затем используя инструменты docbook для генерации PDF (и других различных форматов). Вы также можете использовать XSL, чтобы перейти непосредственно к PDF, если вам нужен более точный контроль над тем, как все выглядит.

1 голос
/ 17 февраля 2009

Относительно новый проект phpLiveDocx может конвертировать DOC в PDF (в дополнение к ряду других форматов). Это сервис на базе SOAP, и его можно использовать совершенно бесплатно. Для примера кода для преобразования DOC в PDF с использованием phpLiveDocx, посмотрите на это недавнее сообщение в блоге:

http://www.phplivedocx.org/2009/02/06/convert-doc-to-pdf-in-php/

Конечно, поскольку он основан на SOAP, его можно использовать во всех операционных системах, поддерживающих PHP: -)

1 голос
/ 18 декабря 2008

Вы можете создать PDF-принтер для печати в файл и отправить любое количество документов на принтер через lpr.

  function lpr($STR,$PRN,$TITLE) {

    $prn=(isset($PRN) && strlen($PRN))?"$PRN":C_DEFAULTPRN ;
    $title=(isset($TITLE))?"$TITLE":"stdin" . rand() ;
    $CMDLINE="lpr -P $prn -T $title";
    $pipe=popen("$CMDLINE" , 'w');
    if (!$pipe) {print "pipe failed."; return ""; }
    fwrite($pipe,$STR);
    pclose($pipe);

  } // lpr()

//open document...
//read into $source
lpr($source, "PDF", $title); //print to device
exit();

Также HTMLDOC может конвертировать ваш HTML в PDF.

0 голосов
/ 18 декабря 2008

Альтернативный метод заключается в создании файла HTML, который содержит то, что вам нужно в формате PDF. Затем используйте htmldoc, чтобы преобразовать его в PDF.

http://www.easysw.com/htmldoc/

На самом деле это намного проще, чем непосредственное управление объектами в документе PDF.

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