找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 268|回复: 0

使用PDFtk合并特定文件夹中的PDF

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-2-14 09:00:22 | 显示全部楼层 |阅读模式
(defun K:MPDF4Folder (OriPatch TgtPatch PreNam / TKPath PDFNam FlieNam BatFile)
  (if
      (and
          (setq TKPath (findfile "pdftk.exe"));如果Pdftk存在
          (vl-file-directory-p OriPatch);源文件夹存在
          (vl-file-directory-p TgtPatch);目标文件夹存在
          (vl-directory-files OriPatch "*.PDF" 1);源文件夹存在PDF
          (setq PDFNam (strcat PreNam "-合并.pdf"));合并后的文件名
      )
      (progn
          (if (findfile (strcat TgtPatch PDFNam))(vl-file-delete (strcat TgtPatch PDFNam)));删除旧PDF
          (setq FlieNam (vl-filename-mktemp "PDF合并" nil ".BAT"))
          (setq BatFile (open FlieNam "w"))
          (Write-Line (strcat
                          "start /min \"\" "
                          TKPath
                          " "
                          OriPatch ;源文件路径"%cd%\\
                          "*.pdf"
                          " cat output "
                          TgtPatch ;储存文件路径%cd%\\
                          PDFNam ;文件名
                      )
                      BatFile
          )
          (close BatFile)
          (command "Shell" FlieNam "");运行BAT
          (if (findfile (strcat TgtPatch PDFNam))(vl-file-delete FlieNam));删除BAT
          (vlax-invoke-method (vlax-create-object "Shell.Application") 'Open TgtPatch)
      )
      (if (vl-file-directory-p OriPatch)
          (vlax-invoke-method (vlax-create-object "Shell.Application") 'Open OriPatch)
      )
  )
)


参考用法:

(setq DwgPath (getvar 'DWGPREFIX))
(setq FolderPath (strcat DwgPath "--PDF--\\"))
(K:MPDF4Folder DwgPath FolderPath (vl-filename-base (getvar 'DwgName)))

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

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-28 17:46 , Processed in 0.137266 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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