首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >支持1.4以上PDF版本的FPDI免费解析器

支持1.4以上PDF版本的FPDI免费解析器
EN

Stack Overflow用户
提问于 2013-06-14 13:35:25
回答 4查看 20K关注 0票数 7

有没有免费/开源的PDF解析器可以做这项工作?FPDI附带的免费解析器仅支持1.4以下的PDF版本。我尝试过TCPDF,但它不起作用。

我知道我可以通过Acrobat更改PDF文件的PDF版本,但我在这样做时遇到了错误。

我正在使用FPDI在我们公司出售的PDF文件上添加水印。我注意到我从1.7到Acrobat降级到1.4的其中一个PDF看起来很像,但是在我的水印功能完成后,PDF将在我的封面的右侧和底部有一个黑色背景的空白区域。简而言之,在整个过程之后,PDF看起来很难卖出去。

EN

回答 4

Stack Overflow用户

发布于 2013-10-01 10:35:31

我在目前正在从事的一个项目中遇到了同样的限制,最终基于TCPDF的解析器创建了我自己的解析器,该解析器与名为TCPDI的FPDI的修改版本和FPDF_TPL的未修改副本一起工作。它可以与TCPDF 6一起使用,并且至少支持PDF 1.6 (我手头还没有1.7个PDF可供尝试,但我很快就会找到一个,以确保它能工作)。

如果你仍然想这样做,请随时尝试TCPDI / tcpdi_parser -如果你遇到任何问题,请通过Github报告他们,我会调查他们。基本安装和使用说明可在TCPDI README中找到。

票数 5
EN

Stack Overflow用户

发布于 2018-06-23 23:41:19

FPDI允许处理最高版本为1.4的PDF文件。您可以使用GHOSTSCRIPT将任何PDF文件转换为1.4版,然后再使用FPDI进行处理。

示例代码可以在我的官方网站博客this link上找到。

更新-

现在请关注this link。域名已由webnius.com变更为infoconic.com

票数 1
EN

Stack Overflow用户

发布于 2020-08-12 17:47:22

我已经绕过了这个限制,在加载到FPDI之前使用pdftk解压缩,然后用pdftk重新压缩。

我确实研究了FPDI的付费许可,但在尝试编译和运行评估版本时遇到了巨大的困难,失去了希望/信心。除了派生或克隆之外,TCPDI缺乏任何实际的安装路径,在PHP7.4上,它们充其量看起来都是零散的。

使用installed pdftk on your machine后,解决方案看起来有点像这样

代码语言:javascript
复制
$PDF = new Fpdi();
try {
    $PDF->setSourceFile('./pdf.pdf');
} catch (\Exception $exception) {
    if (aBoolFunctionToDetectThisParticularException($exception)) {
        exec('pdftk ./pdf.pdf output ./pdf_expanded.pdf uncompress');
        $PDF->setSourceFile('./pdf_expanded.pdf');
    } else {
        throw $exception;
    }
}

如果你已经走了这条路,重新压缩是一个好主意,因为文件大小的差异是巨大的。

代码语言:javascript
复制
exec('pdftk ./pdf_expanded.pdf output ./pdf_compressed.pdf compress');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17101747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档