Я хочу отображать документы на своем веб-сайте. Сервер размещен на машине Debian. Я думал, что могу разрешить загрузку документов поддержки, а затем использовать приложение Linux или приложение PHP для преобразования документа в PDF и отображения его на странице HTML. Существуют ли какие-либо API или двоичные файлы, которые позволяют мне это делать?
Если это офисный документ, одним из вариантов было бы использовать openoffice в режиме безглавых. См. Здесь сценарий python, который показывает, как: http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html
Если это какой-либо другой документ (например, ваш собственный XML-документ), вам нужно будет немного поработать. У меня был некоторый успех с использованием XSL для определения перевода в формат docbook, а затем с помощью инструментов docbook для создания PDF (и других форматов). Вы также можете использовать XSL, чтобы перейти прямо к PDF, если вам нужен более точный контроль над тем, как выглядят вещи.
Вы можете создать 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.
Относительно новый проект под названием phpLiveDocx может конвертировать DOC в PDF (в дополнение к ряду других форматов). Это сервис на основе SOAP и может использоваться совершенно бесплатно. Для примера кода для преобразования DOC в PDF с помощью phpLiveDocx, взгляните на это последнее сообщение в блоге:
http://www.phplivedocx.org/2009/02/06/convert-doc-to-pdf-in-php/
Конечно, поскольку он основан на SOAP, его можно использовать во всех операционных системах, поддерживающих PHP 🙂
Альтернативным методом является создание HTML-файла, который содержит то, что вам нужно в pdf. Затем используйте htmldoc, чтобы преобразовать его в PDF.
http://www.easysw.com/htmldoc/
На самом деле это намного проще, чем прямое манипулирование объектами в PDF-документе.
Pear имеет класс PHP PDF. Видеть:
http://pear.php.net/package/File_PDF
http://pear.php.net/package/File_PDF/docs/latest/apidoc/File_PDF/File_PDF.html