QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 8632|回复: 9
收起左侧

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
3 p% G. J" `: K8 q
; v. `; Y5 y- ycad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
0 d& c, y, Z. _( N有没有办法合并呢?或者直接输出成一份PDF文件?# g3 a4 P2 Y# ]( {- g) L4 s5 D9 r) r

( e- n% H+ J; L4 Y" I请大虾们帮忙
 楼主| 发表于 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  \4 _2 I, f* R* D) P
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)4 c% ]& {$ ?) [3 z! |
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
    ( q! C0 g/ K- ^4 G$ h6 h/ J
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    ! d; M. H/ ]) ?
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑
- W* X: A- p5 n& T
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
+ Y; l& C) S+ x6 w/ }+ |+ K- L" lPDDoc1.Open 第一个PDF文档的完整路径(字符串)# S* L) ]) p* U0 J1 \0 {4 i
PDDoc2.Open 第二个PDF文档的完整路径(字符串)/ Z- h' I2 y8 N" ^# {' Y
PDDoc1.Inse ...# n2 i  f* @1 a) }+ s7 Y
woaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
; d: l+ U, a/ S5 E9 f

2 v/ _9 ]' }7 \; ?: Z+ S9 Q3 |为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. ) L' A  h" l) J
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    ' K# V: A) ~" ~
  3.     Dim path1 As String, path2 As String, path3 As String% ~  E, i1 E5 N  D: N
  4.     path1 = "d:\1.pdf", L7 |% u# e$ D6 T+ v
  5.     path2 = "d:\2.pdf"
    ! Z0 }; c& i9 Z7 L' w
  6.     path3 = "d:\3.pdf"1 c& Y( G/ g* y, h% m
  7.     & f0 _( ~4 d! R9 [& Y6 J
  8.     PDDoc1.Open path1
    & ^  u) T! n+ @" u% g
  9.     PDDoc2.Open path2
    ' q9 I: m( M- I6 s
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0, F9 W! f) R7 x" c
  11.     PDDoc1.Save 1, path30 W  ^( {& ?$ W
  12.   i2 R/ L8 u. p
复制代码

3 c: _2 X* y# {" r6 t) }
9 Z  W* ?% u, G, U
$ ]. }# b0 C7 H/ D  ?( n引用了Acrobat类库,下图3 ~' a! g) E1 W3 f, C
引用.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! K# r7 s) K" t# ]  _( n
  2.     Dim path1 As String, path2 As String, path3 As String; ]9 V; |+ ^  u7 K
  3.     path1 = "d:\1.pdf"6 L4 H' p2 m) {' @. P5 Q
  4.     path2 = "d:\2.pdf"
    5 P+ @. g7 Y2 ^
  5.     path3 = "d:\3.pdf"
    9 R7 o9 a/ Z' E4 ^& D
  6.    
    ' v8 |+ I# o% |7 i* H0 R
  7.     PDDoc1.Open path1# j2 N4 {5 n- W2 r& i$ B
  8.     PDDoc2.Open path2
    , Y" ?6 x4 C, K2 u* e1 c7 ^
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    $ [3 Y# V2 }$ n: `- U/ d
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢1 |2 w8 @; u0 \4 E

; b$ m; B+ y3 _4 n我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
" D8 W3 i; D$ {" N+ r+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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