一个简单的命令行可执行文件,名为:pdfinfo .

这是downloadable for Linux and Windows . 您下载包含几个与PDF相关的小程序的压缩文件 . 在某处提取它 .

其中一个文件是 pdfinfo (或Windows的 pdfinfo.exe ) . 通过在PDF文档上运行它返回的数据示例:

Title: test1.pdf

Author: John Smith

Creator: PScript5.dll Version 5.2.2

Producer: Acrobat Distiller 9.2.0 (Windows)

CreationDate: 01/09/13 19:46:57

ModDate: 01/09/13 19:46:57

Tagged: yes

Form: none

Pages: 13

Encrypted: no

Page size: 2384 x 3370 pts (A0)

File size: 17569259 bytes

Optimized: yes

PDF version: 1.6

我还没有看到一个PDF文档,它返回了一个虚假的页面(尚未) . 它也非常快,即使有200 MB的大文档,响应时间也只需几秒钟或更短 .

有一种从输出中提取页面计数的简单方法,这里是PHP:

// Make a function for convenience

function getPDFPages($document)

{

$cmd = "/path/to/pdfinfo"; // Linux

$cmd = "C:\\path\\to\\pdfinfo.exe"; // Windows

// Parse entire output

// Surround with double quotes if file name has spaces

exec("$cmd \"$document\"", $output);

// Iterate through lines

$pagecount = 0;

foreach($output as $op)

{

// Extract the number

if(preg_match("/Pages:\s*(\d+)/i", $op, $matches) === 1)

{

$pagecount = intval($matches[1]);

break;

}

}

return $pagecount;

}

// Use the function

echo getPDFPages("test 1.pdf"); // Output: 13

当然,这个命令行工具可以用于其他语言,可以解析外部程序的输出,但我在PHP中使用它 .

I know its not pure PHP ,但外部程序在PDF处理方面更好(如问题所示) .

我希望这可以帮助人们,因为我花了很多时间试图找到解决方案,我已经看到很多关于PDF页面的问题,其中我找不到我想要的答案 . 这就是我提出这个问题并自己回答的原因 .

Java获取文档页数_获取PDF文档中的页数相关推荐

  1. chrome 切换标签页快捷键_如何在Chrome浏览器中切换标签页

     在 Windows 和 Linux 电脑中,你还可以考虑使用 Ctrl + PgDwn .  在 Mac 电脑中,你也可以使用 command + option + .此外还需注意, Mac 键 ...

  2. python excel行数_使用python计算excel中的行数

    你的问题有点不清楚,如果你能给我们提供一个可以重复的例子来说明你所做的,你的问题可能会得到改善.不过,我想这可能是你想要的?在import pandas as pd data = {'foo':[5, ...

  3. pdf 加深 扫描件_为什么PDF文档不能像Word文档一样随便编辑?如何免费将PDF转换为Word?...

    PDF文档是一种非常难编辑的文档,有时候我们需要编辑或者复制PDF文档里面的内容,把PDF文档转换为Word就是我们最佳的选择.为什么PDF文档这么难编辑?我们怎么免费把PDF文档转换为Word文档? ...

  4. HTML 文档可以映射为,将PDF文档转换为可通过URL访问的HTML文档的最佳方法

    许多人想了解如何将PDF文档转换为可通过URL访问的HTML文档.毕竟,在线发布PDF文档是与他人共享文档的最佳方法,但是,许多程序都不能完成此操作.因此,本文提出万兴PDF这款出色的解决工具,该程序 ...

  5. java获取radio选中的值_获取radio值

    使用jquery获取radio的值  使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来 ...

  6. java检查word文档内容缺失_恢复Word文档内容需要了解的知识

    Word文档是每一位电脑用户都有机会接触的文字编辑工具,它对我们的生活有着重要影响,不管是在学习还是在工作上.如果我们遇到了Word文档内容丢失或者Word文档内容乱码的情况,应该怎么解决呢?请继续往 ...

  7. java recordset 记录数_【求助】asp中怎样获得一个记录集(Recordset)的所有行数?

    你的位置: 问答吧 -> 网络编程 -> 问题详情 [求助]asp中怎样获得一个记录集(Recordset)的所有行数? 如标题所示 [ 本帖由 smilekiki 最后编辑于 2006- ...

  8. java加密文件夹_Java加密、解密PDF文档

    import java.util.EnumSet; import com.spire.pdf.PdfDocument; import com.spire.pdf.security.PdfEncrypt ...

  9. 获取android设备唯一编号_获取android设备的唯一ID

    在Android开发者官方blog上已经有一篇文章对此做了总结(参考链接1), 这里结合自已查询的资料再总结一下, 并给出最终符合要求的解决方案. 1. ANDROID_ID, Secure.ANDR ...

最新文章

  1. 2018 F40中国青年投资人
  2. 有道精品课python-Python:7行代码爬取有道词典
  3. java 持续集成工具_Jenkins集成式项目控件下载
  4. 移动端(H5)弹框组件--简单--实用--不依赖jQuery
  5. c语言isfinite_csqrtf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网
  6. 【Python】Python3.7.3 源代码编译安装 CentOS
  7. web2.0网站的四大特性简述
  8. oracle分区区别,oracle范围分区表和INTERVAL分区表对于SPLIT分区的区别
  9. Java EnumMap工作原理及实现
  10. python 线程同步_python线程同步
  11. Installation openQRM
  12. JavaWeb网络考试系统
  13. arcpy批量重命名
  14. 教你如何安装配置Windows7系统 IIS IIS7.5本地浏览测试网站 完整版介绍
  15. STM32LED--基于HAL库(LCD与LED冲突?一文看懂如何精准劝架)
  16. UBOOT下自定义显示BMP图片
  17. 修改服务器bond网口mode4,双25GE网卡做bond4测试,其中一个网口没有流量一个网口可以打满的问题分享★★★...
  18. Chrome浏览器 设置跨域访问
  19. 2021年安全员-B证(广西省-2021版)考试技巧及安全员-B证(广西省-2021版)
  20. 每日新闻摘要:适用于Win7,Android Q Beta等的DirectX

热门文章

  1. 小甲鱼主讲—P22—数组02
  2. Web前端笔记(部分1)
  3. win10搜索计算机中所有excel,WIN10系统中如何在2张EXCEL表格间实现VLOOKUP查找
  4. Oracle Workflow Demo 1 - 一个简单的请假申请工作流
  5. 做PPT时流程图相关的模板在哪里可以下载?
  6. 网页视频之视频播放慢
  7. 本科生如何才能进入腾讯,阿里等一流的互联网公司?
  8. 大道至简之ResetAPI
  9. Reshaper快捷键截图
  10. Web前端:什么是 React Native?