我希望能够通过PHP将PDF文件转换为HTML文件,但遇到了一些麻烦.
我找到了使用Saaspose执行此操作的基本方法,它允许您将PDF转换为HTML文件.但是,这有一些问题,例如使用SVG,图像,定位,字体等.
我需要的是能够从PHP文件中获取文本以及与之关联的任何图像,然后以线性格式显示它,而不是使用绝对定位格式化.
我的意思是,如果PDF看起来像这样:

我想将它转换为单列设计HTML文件.如果有图像,我也希望它们也能返回.
这可能在PHP?我知道我可以简单地从PDF文件中获取文本,但是抓取图像呢?
另一个问题是我希望所有内容都是内联的,因为它是在一个文件中提供给客户端的.目前,我可以通过一些代码进行设置:
for ($i = 0; $i < $object_number; $i++) {
$object = $html->find("object")->find("embed")->eq($i);
$embed = file_get_contents("Output/OutputHtml/" . $object->attr("src"));
array_push($converted_obj, $embed);
array_push($original_obj, $object);
}
for ($i = 0; $i < $object_number; $i++){
pq($original_obj[$i])->replaceWith($converted_obj[$i]);
}
Run Code Online (Sandbox Code Playgroud)
它抓取所有SVG文件并以内联方式显示它们.正如我可以使用的那样,图像会更容易base64.
T.T*_*dua 11
1)将.exe文件下载并解压缩到一个文件夹:http://sourceforge.net/projects/pdftohtml/
2)创建一个.php文件,并输入此代码(假设pdftohtml.exe位于该文件夹中,源sample.pdf也是如此):
<?php
$source_pdf="sample.pdf";
$output_folder="MyFolder";
if (!file_exists($output_folder)) { mkdir($output_folder, 0777, true);}
$a= passthru("pdftohtml $source_pdf $output_folder/new_file_name",$b);
var_dump($a);
?>
Run Code Online (Sandbox Code Playgroud)
3)输入MyFolder,您将看到转换后的文件(取决于页数..)
ps我不知道,但也存在许多商业或试用api.
使用Xpdf 的跨平台解决方案:
下载适当的Xpdf 工具包并将其解压到脚本目录中的子目录中。让我们假设它被称为“/xpdftools”。
将这样的代码添加到您的 php 脚本中:
$pdf_file = 'sample.pdf';
$html_dir = 'htmldir';
$cmd = "xpdftools/bin32/pdftohtml $pdf_file $html_dir";
exec($cmd, $out, $ret);
echo "Exit code: $ret";
Run Code Online (Sandbox Code Playgroud)
脚本执行成功后htmldir目录将包含转换后的 html 文件(每个页面在一个单独的文件中)。
Xpdf 工具使用以下退出代码:
0 - 没有错误。1 - 打开 PDF 文件时出错。2 - 打开输出文件时出错。3 - 与 PDF 权限相关的错误。99 - 其他错误。| 归档时间: |
|
| 查看次数: |
54332 次 |
| 最近记录: |