Как конвертировать документы в PDF в стеке Linux / PHP?

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
8
0
9 452
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

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

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

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

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

На самом деле это намного проще, чем напрямую управлять объектами в документе 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 :-)

Другие вопросы по теме