QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
4天前
查看: 8678|回复: 9
收起左侧

[已答复] VBA:如何合并两份PDF格式的图纸?

[复制链接]
发表于 2011-8-24 16:57:12 | 显示全部楼层 |阅读模式 来自: 中国浙江杭州

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件9 e& x) D! R7 F' j; x4 g; s

- A  d7 L6 D) ?/ Q7 b' Y( F% _" qcad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
2 r9 H+ C/ M+ a& J有没有办法合并呢?或者直接输出成一份PDF文件?) U' U  V* u5 L

) }# Y8 B. j6 z' z请大虾们帮忙
 楼主| 发表于 2011-8-24 16:57:59 | 显示全部楼层 来自: 中国浙江杭州
PDF里面是有手工插入文档的功能的,但是如何自动实现呢
发表于 2011-8-24 17:04:07 | 显示全部楼层 来自: 中国江苏苏州
Adobe Acrobat 可以
 楼主| 发表于 2011-8-25 10:53:51 | 显示全部楼层 来自: 中国浙江杭州
我知道Adobe Acrobat 可以,但是如何通过程序来自动实现呢
发表于 2011-8-26 08:30:52 | 显示全部楼层 来自: 中国辽宁
使用下面代码前应保证安装了Acrobat并引用其类库
  1. Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    5 U6 e% I* }0 \; Q: X8 j. y
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)0 b% q! t7 d3 A7 X6 H# V
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)! Y- L' Z) P8 a1 q
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    & G5 f! A; }" Y8 R/ O8 Q; U9 l
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 $ _* p2 U1 G: `2 a
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
  R& y2 E5 |6 X+ x$ i8 ^PDDoc1.Open 第一个PDF文档的完整路径(字符串): h* u, G* P% A
PDDoc2.Open 第二个PDF文档的完整路径(字符串)
2 o+ n( p& U5 B( X$ UPDDoc1.Inse ...
  O* e2 Q2 W& J" qwoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
5 l1 w; z5 Z# a- R" Q+ k
( o- S4 _$ C5 r
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. ' a, p2 K' p- z
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc. Z% x4 {1 f! r# }. `
  3.     Dim path1 As String, path2 As String, path3 As String
    $ G9 x: e" s- h* E2 I% g2 o
  4.     path1 = "d:\1.pdf"
    8 a. m' ?  R& ^1 s2 v
  5.     path2 = "d:\2.pdf"
    * C7 g5 N% H. a/ d
  6.     path3 = "d:\3.pdf"
    1 ^" H1 e) K% r, v. R5 H
  7.    
    $ i; _) L$ Q0 x# J7 k
  8.     PDDoc1.Open path1
    & P) _* b5 |0 Z2 D6 h
  9.     PDDoc2.Open path2# e$ e/ \  n/ P! _! D& u
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    % Q5 A6 k# O) C8 C3 ^9 Y9 B
  11.     PDDoc1.Save 1, path3# O6 c' |& Y9 I6 w

  12. ! g- i8 M" {8 V$ `- [* v5 ]; p
复制代码

6 }' e3 O+ H: ^4 G- _% c* r7 s8 O  x4 n+ b! R) o
) I  |1 W) }$ N+ [
引用了Acrobat类库,下图
! S: C1 O/ M' ?- X7 _6 [ 引用.JPG

1.pdf

51.79 KB, 下载次数: 3

2.pdf

51.27 KB, 下载次数: 1

发表于 2011-8-26 10:42:15 | 显示全部楼层 来自: 中国辽宁
页号错了.我在5楼已经说了页号从0开始,呵呵
  1.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    0 U" V2 Z3 [- u, {: i) ?5 y% K
  2.     Dim path1 As String, path2 As String, path3 As String
    2 H/ {( m0 ~6 I. ?: `
  3.     path1 = "d:\1.pdf"
    4 M( D* e6 |, w6 @
  4.     path2 = "d:\2.pdf"4 `0 u2 V2 a& M+ |
  5.     path3 = "d:\3.pdf"
      g- R+ e5 b& D( {- H1 H9 \# F
  6.     * J7 n" U# j2 P: _3 c1 Z
  7.     PDDoc1.Open path1
    * o! X* y2 E  H, L9 {' F$ f# X  Y
  8.     PDDoc2.Open path24 @! F" ?/ W0 X7 d) B; O+ z
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    $ T. r! g2 |8 H+ n/ K
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢! L) x. i9 U% |+ X0 X, d& Q) U

9 v9 z- [/ D" w; h我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot: c2 m$ S) Z: Z* R4 a7 f
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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