在PHP中实现高质量的PDF转Word转换?

12

在PHP中,将PDF文档转换为Microsoft Word格式的最佳方法是什么?可以编写PHP脚本或调用可执行文件(Linux)(使用proc_open())。它只需要相对快速,并生成优质的Word文档(以97/2000/2003格式)。

商业软件可以接受。


你是否找到了解决方案? - mrcoder
4个回答

8
要阅读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');
?>

它将失去其格式。仅仅进行转换是不够的,如何保留格式呢? - Haseeb Zulfiqar

0

Openoffice有一个PDF导入扩展。大部分OpenOffice都是可编写脚本的,因此您应该能够编写命令行界面来执行转换。官方UNO维基上有许多示例


-1

另一个转换选项是Aspose.Words Cloud SDK for 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;
}

?>

附言:我是Aspose的开发者大使。


@hassanrazadev 是的,它会保留格式。 - Tilal Ahmad

-3

4
这做的是相反于他们想要的事情! - Jesse Pepper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接