Качественное преобразование PDF в Word на PHP?

Каков наилучший способ преобразования документов PDF в формат Microsoft Word в PHP? Это может быть либо сценарий PHP, либо вызов исполняемого файла (Linux) (с помощью proc_open()). Он просто должен быть относительно быстрым и создавать качественные документы Word (в формате 97/2000/2003).

Коммерческое программное обеспечение в порядке.


person cletus    schedule 13.01.2009    source источник
comment
Вы когда-нибудь получали решение?   -  person mrcoder    schedule 13.10.2020


Ответы (4)


Для чтения файлов PDF необходимо установить XPDF, который включает «pdftotext». После установки XPDF/pdftotext вы запускаете следующую инструкцию PHP, чтобы получить текст PDF:

content = shell_exec('/usr/local/bin/pdftotext '.$filename.' -');

После получения контента загрузите версию PHPDOCX для сообщества, попробуйте сделать так.

<?php
require_once '../../classes/CreateDocx.inc';

$docx = new CreateDocx();
$textInfo = $content;

$paramsTextInfo = array(
    'val' => 1,
    'i' => 'single',
    'sz' => 8
);

$docx->addText($textInfo, $paramsTextInfo);

$docx->createDocx('report.docx');
?>
person Shankar Narayana Damodaran    schedule 12.08.2013
comment
Он потеряет свое форматирование. Просто преобразование не касается, как сохранить и форматирование? - person Haseeb Zulfiqar; 12.05.2016

В Openoffice есть расширение импорта PDF. Большая часть OpenOffice поддерживает сценарии, поэтому вы должны иметь возможность написать интерфейс командной строки для выполнения преобразования. На официальной вики UNO есть много примеров.

person codelogic    schedule 13.01.2009

Другой вариант преобразования — Aspose.Words Cloud SDK для PHP. Это эффективный набор решений для обработки документов Word без каких-либо зависимостей от Microsoft Word. Это платный продукт, но бесплатный тарифный план предлагает 150 бесплатных вызовов API в месяц.

<?php

require_once('D:\xampp\htdocs\aspose-words-cloud-php-master\vendor\autoload.php');


try {

    //TODO: Get your ClientID and ClientSecret at https://dashboard.aspose.cloud (free registration is required).       
    $ClientSecret="xxxxxxxxxxxxxxxxxxxxxx";
    $ClientID="xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx";


    $wordsApi = new Aspose\Words\WordsApi($ClientID,$ClientSecret);
    
    
    $format = "docx";
    $file = ("C:/Temp/02_pages.pdf");
    
    $request = new Aspose\Words\Model\Requests\ConvertDocumentRequest($file, $format,null);
    $result = $wordsApi->ConvertDocument($request); 
    copy($result->getPathName(),"C:/Temp/02_pages.docx");
        
} catch (Exception $e) {
    echo  "Something went wrong: ",  $e->getMessage(), "\n";
    PHP_EOL;
}

?>

P.S. Я евангелист разработчиков в Aspose.

person Tilal Ahmad    schedule 08.12.2020

Безусловно, самый простой способ — использовать phpLiveDocx. Он может загружать DOC, DOCX и RTF и сохранять в PDF. Его можно загрузить с http://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/ Файл для загрузки содержит большое количество примеров приложений, иллюстрирующих все аспекты библиотеки PHP5. Лео

person Community    schedule 05.02.2009
comment
это делает противоположное тому, что они хотят! - person Jesse Pepper; 04.03.2010