php - 从 php/linux 获取 pdf 的布局模式(横向或纵向)

标签 php linux pdf ghostscript cups

给定一个 PDF,如何使用 PHP 库或 linux 命令行工具获取 PDF 的布局模式(或相对宽度/高度)?

使用 http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf它可以在新的 PDF 上设置此变量,但适用于来自 adobe 的现有 pdf。

考虑将 pdf 转换为 ps,或以其他方式使用 gs——比如先将其转换为图像,然后获取其宽度和高度。这是最好的方法吗?

最佳答案

我使用的解决方案是使用ghostscript将第一页打印成图像,然后获取图像尺寸

$cmd = 'gs -dSAFER -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -sDEVICE=png16m -r400 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile="'.$complete_file_path.'/p%d.png" "'.$complete_file_path.'/'.$this->pdffilename.'"';
        $result = $this->proc( $cmd );
        list($width, $height, $type, $attr) = getimagesize($complete_file_path.'/'.$pngfilename);

关于php - 从 php/linux 获取 pdf 的布局模式(横向或纵向),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1467494/

相关文章:

c - 无法弄清楚为什么我没有从一个线程获取我作为输入的数组并尝试使用另一个线程打印它

c# - 如何正确提供 PDF 文件

java - 尝试使用 iText7 合并合并 pdf,但是当我打开最终合并的 pdf 时,它说无法加载 pdf 文档

php - Mysql 使用 MATCH() AGAINST() 搜索字符串和数字不工作

javascript - 如何在用户选择特定变体时为弹出窗口添加链接

php - curl - 等待几秒钟后获取重定向网址

pdf - 如何使用 PDFsharp 库测量文本长度

php - Twitter Typeahead Ajax 结果未定义

c - 如何在单独的共享对象库中引用变量

linux - Pintos 示例