sandyvs 发表于 2025-3-2 21:03:25

获取PDF页数

本帖最后由 sandyvs 于 2025-3-3 12:24 编辑

;好像论坛并不多,http://bbs.mjtd.com/forum.php?mo ... hlight=PDF%2B%D2%B3,lisp没获取到,c#没试

;http://bbs.mjtd.com/forum.php?mo ... hlight=PDF%2B%D2%B3,页数多了太卡
;http://bbs.mjtd.com/forum.php?mo ... hlight=PDF%2B%D2%B3,需要安装adobe acrobat

;找了个exe小文件来实现,或者用cpdf,更直接,而且有其他功能,合并pdf什么的(附件示例及官方文档)

[*](defun czx:getpdfnum1 (pdfpath / cmd pdfinfoPath shell)
[*](if (setq pdfinfoPath (findfile "pdfinfo.exe"))
[*]    (progn
[*]      (setq cmd (strcat
[*]                  "\""
[*]                  pdfinfoPath       " \""          ; pdfinfo.exe路径
[*]                  pdfpath      "\""            ; PDF路径
[*]                  " | findstr \"Pages\""         ; 查找pages
[*]                  " | Set-Clipboard\""            ; 结果复制到剪贴板或者用 clip.exe
[*]                  )
[*]       )
[*]      (setq shell (vlax-create-object "Shell.Application"))
[*]      (if shell
[*]      (progn
[*]          (vlax-invoke-method
[*]                              shell
[*]                              'ShellExecute
[*]                              "powershell.exe"
[*]                              (strcat "-Command \"" cmd "\"")
[*]                              ""
[*]                              ""
[*]                              0
[*]          )
[*]          (vlax-release-object shell)
[*]          (command "delay" 500)
[*]          (get-clip-string) ;获取剪切板内容
[*]      )
[*]      )
[*]    )
[*]    (progn
[*]      (princ " \n 请将 pdfinfo.exe 放到CAD搜索路径!")
[*]      nil
[*]    )
[*])
[*])
[*];(czx:getpdfnum1 (getfiled "1" "" "pdf" 0))

;get-clip-string不知道是谁的了,http://bbs.mjtd.com/thread-192187-1-1.html
;或者写到注册表或文件,再读取(附件为写到注册表)


mercio 发表于 2025-3-3 08:17:03

pdfinfo.exe是在网上找的吗

lxl217114 发表于 2025-3-3 11:40:43

谢谢喜欢搞技术研究的大佬分享

cjrun 发表于 2025-3-3 11:52:16

本帖最后由 cjrun 于 2025-3-3 11:54 编辑

可以提取当前页,记录到文件或提取pdf文件内的书签存成文件,然后做成dcl版的书签,直接用cad打开pdf文件并转到书签页

sandyvs 发表于 2025-3-3 12:08:55

本帖最后由 sandyvs 于 2025-3-3 12:22 编辑

mercio 发表于 2025-3-3 08:17
pdfinfo.exe是在网上找的吗
嗯,xpdf官网
啊,才发现忘传exe文件了

sandyvs 发表于 2025-3-3 12:12:48

cjrun 发表于 2025-3-3 11:52
可以提取当前页,记录到文件或提取pdf文件内的书签存成文件,然后做成dcl版的书签,直接用cad打开pdf文件并 ...

啊,这研究的就有点深了,目前用不到。做成这样查看规范倒是不错

烟盒迷唇 发表于 2025-3-4 17:05:47

和pdftk的用法一样的

sandyvs 发表于 2025-3-4 21:02:33

烟盒迷唇 发表于 2025-3-4 17:05
和pdftk的用法一样的

嗯,差不多,但pdftk页数多了太慢了

longxh28 发表于 2025-3-5 08:38:04

使用iTextSharp.dll这个C#开源库可以实现。
页: [1]
查看完整版本: 获取PDF页数