明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1365|回复: 15

另类获取PDF文件总页数的方法

[复制链接]
发表于 2024-2-26 09:34:01 | 显示全部楼层 |阅读模式
灵感来源于使用pdftk合并PDF文件,此方法不用安装adobe acrobat软件,只需要把pdftk.exe和libiconv2.dll文件添加到CAD的支持文件搜索路径里即可。
  1. (defun c:tt (/ num)
  2.   (setq num (Pdf:NumberOfPages (getfiled "选择PDF文件" (getvar 'DWGPREFIX) "pdf" 128)))
  3.   (if num
  4.     (alert (strcat "\n此PDF的总页数为:" num))
  5.   )
  6.   (princ)
  7. )


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 2明经币 +2 收起 理由
kucha007 + 1 很给力!插入PDF参照时有用~
baitang36 + 1 很给力! 用处呢?

查看全部评分

 楼主| 发表于 2024-2-28 09:51:23 | 显示全部楼层
统计图幅尺寸及数量
  1. (defun c:tt (/ lst1 lst2 str_lst)
  2.         (setq str_lst (Pdf:Getparameter (getfiled "选择PDF文件" (getvar 'DWGPREFIX) "pdf" 128) "PageMediaDimensions"))
  3.         (if str_lst
  4.                 (progn
  5.                         (setq lst1
  6.                                 (mapcar
  7.                                         (function
  8.                                                 (lambda(x)
  9.                                                         (read (strcat "(" (vl-string-left-trim "PageMediaDimensions: " x) ")"))
  10.                                                 )
  11.                                         )        
  12.                                         str_lst
  13.                                 )        
  14.                                 lst2 (HHst->Group lst1)                                
  15.                         )
  16.                         (foreach x lst2
  17.                                 (princ
  18.                                         (strcat "\n图幅[" (vl-princ-to-string (caar x)) " "
  19.                                                 (vl-princ-to-string (cadar x)) "]的数量是:" (vl-princ-to-string (vl-list-length x))
  20.                                         )                                         
  21.                                 )
  22.                         )
  23.                 )
  24.                 (princ "\n提取不到相关数据!")
  25.         )
  26.         (princ)
  27. )


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2024-2-28 16:15:31 | 显示全部楼层
lzspain 发表于 2024-2-28 13:01
大佬厉害,只是和想要的那种结果还是有点儿差距。有些PDF文件里是有多种图幅的,目前倒是有其他工具可以 ...

这个可以统计多种图幅的吧,只是我的图幅只有一种,所以只提示了一种。
发表于 2024-2-28 13:01:41 | 显示全部楼层

大佬厉害,只是和想要的那种结果还是有点儿差距。有些PDF文件里是有多种图幅的,目前倒是有其他工具可以统计,大佬这个方法很新颖。
 楼主| 发表于 2024-2-26 17:06:29 | 显示全部楼层
在用PDF批量转为CAD的时候用得到
发表于 2024-2-26 23:39:51 | 显示全部楼层
要是能统计各图幅尺寸及数量就更好
 楼主| 发表于 2024-2-27 08:45:08 | 显示全部楼层
lzspain 发表于 2024-2-26 23:39
要是能统计各图幅尺寸及数量就更好

可以获取很多PDF的数据信息,但是里面好像没有关于图幅的
 楼主| 发表于 2024-2-27 08:51:30 | 显示全部楼层
本帖最后由 烟盒迷唇 于 2024-2-27 08:52 编辑

PageMediaDimensions: 842 1191,这个是不是就是图幅的意思,如果是的话,那完全可以统计出来的。
发表于 2024-2-27 08:56:52 | 显示全部楼层
烟盒迷唇 发表于 2024-2-27 08:51
PageMediaDimensions: 842 1191,这个是不是就是图幅的意思,如果是的话,那完全可以统计出来 ...

就是这个,应该是可以实现的
 楼主| 发表于 2024-2-27 09:06:19 | 显示全部楼层
lzspain 发表于 2024-2-27 08:56
就是这个,应该是可以实现的

那就很简单了,提取出来后加工一下,分类统计就得出图幅大小和数量了
发表于 2024-2-27 12:57:16 | 显示全部楼层
烟盒迷唇 发表于 2024-2-27 09:06
那就很简单了,提取出来后加工一下,分类统计就得出图幅大小和数量了

期待大佬的成品!
 楼主| 发表于 2024-2-27 13:00:52 | 显示全部楼层
lzspain 发表于 2024-2-27 12:57
期待大佬的成品!

我用不到提取图幅,不弄这个哦
 楼主| 发表于 2024-2-28 09:48:12 | 显示全部楼层
lzspain 发表于 2024-2-27 12:57
期待大佬的成品!

这样子了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 04:54 , Processed in 0.233023 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表