【问题标题】:How to convert PDF version 1.5 to version 1.4 in PHP如何在 PHP 中将 PDF 1.5 版转换为 1.4 版
【发布时间】:2012-06-16 13:48:19
【问题描述】:

如何在 PHP 中将 PDF 1.5 版转换为 1.4 版?谁能指出我正确的方向?

【问题讨论】:

  • 这听起来是个坏主意。使用特定 1.5 功能的文档可能根本不可能。你的情况如何?此外,如果这是可能的,那么只能使用命令行工具。你能在你的服务器上从 PHP 安装和调用命令行工具吗?
  • PHP与PDF转换有什么关系?
  • 我正在使用 fpdf 和 fpdi 库来编辑我的 PDF。问题是(免费版)fpdi 和 fpdf 有限制,它只能处理 1.4 版本的 pdf 文档。所以我想将任何 1.5 文档转换为 1.4,然后用 fpdi 处理它。谢谢。
  • 你什么时候找到办法了?

标签: php pdf-generation


【解决方案1】:

我也有类似需求,发现Ghostscript可以修改PDF版本。文档在这里:http://ghostscript.com/doc/current/Use.htm

但是,我在文档中没有找到任何关于 dCompatibilityLevel 选项的具体内容。相反,我发现这篇文章展示了它的用途:http://rohieb.wordpress.com/2012/06/09/use-ghostscript-to-convert-pdf-files/

命令如下:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dQUIET -dBATCH 
  -sOutputFile=new-pdf1.5.pdf original.pdf

【讨论】:

    【解决方案2】:

    多年来我一直有同样的问题,没有重新安装任何东西,有一个在线转换器:https://docupub.com/pdfconvert/

    【讨论】:

      【解决方案3】:

      您可以轻松地将 PDF 版本 1.5 转换为 1.4。

      您可以使用 2 种方式转换 PDF 版本。

      1. 使用 ghostscript 命令行工具

      exec('gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -sOutputFile=new.pdf old.pdf')

      1. 使用 github 提供的 PHP 库。 从here下载

      我开发了一个 PDF 加密工具,可以加密任何版本的 pdf 文件。在将 PDF 传递给 fpdi pdf 解析器进行加密之前,我使用 ghost-script 转换 PDF 版本。它几乎完成并可以使用了。 Here

      【讨论】:

        【解决方案4】:

        这是一个工作完整的脚本,不完美但简单。 脚本从 c:\temp_in\ 读取所有 pdf 文件并将它们转换为 1.4 版,并保存在文件夹 c:\temp_done 中。鬼脚本的路径有一些问题,所以路径在 shell_exec 中完全声明。还通过实现“2>&1”为脚本添加了一些调试。 (显然需要安装ghost脚本。)

        <?php
        if ($handle = opendir("c:/temp_in/")) {
        while (false !== ($file = readdir($handle))) {
            if ('.' === $file) continue;
            if ('..' === $file) continue;
        
            $result = shell_exec('"C:\Program Files\gs\gs9.27\bin\gswin64c" -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -sOutputFile="c:\temp_done\\'.$file.'" "c:\temp_in\\'.$file.'" 2>&1');
            echo $result;
        
        }
        closedir($handle);
        }
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-10-18
          • 1970-01-01
          • 1970-01-01
          • 2012-08-18
          • 1970-01-01
          • 2013-03-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多