QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件5 f: `/ a: X, f1 O
7 c9 K4 M! D$ f8 |: l4 P
cad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
" A* H5 t! w0 y3 {* r有没有办法合并呢?或者直接输出成一份PDF文件?
  g. M. g: _, Y+ H* S1 _6 }( k$ Q( a3 K( j; C3 O
请大虾们帮忙
 楼主| 发表于 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
    2 t) s2 P6 T: |+ r2 l
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)" D* l; m1 U/ ]+ x3 L
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
    6 `% f  ^6 N1 Y8 W  K
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0, E3 v- }2 t- l2 f  f
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 , G1 K$ H7 R. h$ v
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
, W! m5 p* o+ X& ~- G2 mPDDoc1.Open 第一个PDF文档的完整路径(字符串)9 y' N* G8 w7 V. q
PDDoc2.Open 第二个PDF文档的完整路径(字符串)+ u' f3 e8 M* g& \7 S& e7 W% ^
PDDoc1.Inse ...
# H- L8 L2 i* `* h7 H4 t# {woaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

9 F) f8 t5 E- l- `) R% m: i
6 S4 k8 R- \% u8 l% l/ {) Z为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. 4 S2 M8 b8 O/ y/ p6 d$ H0 o
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc9 t4 |. O# s* [% M. F
  3.     Dim path1 As String, path2 As String, path3 As String% R1 A1 |# N9 j/ Y- o* T& u1 I
  4.     path1 = "d:\1.pdf"& C) M7 v/ H! @/ r( |$ P
  5.     path2 = "d:\2.pdf"
    9 \- o: k- U" i8 ~+ a
  6.     path3 = "d:\3.pdf"! U- i4 K+ m$ Y' b( I
  7.     * s" k8 C7 ?: l' A/ q$ Z8 Z
  8.     PDDoc1.Open path18 R; I, p) Z; f
  9.     PDDoc2.Open path2
    2 i; H! i2 e! [$ m: Z
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    9 z. j. i, u' W
  11.     PDDoc1.Save 1, path3$ W4 y- k9 l2 _" ~% D# v
  12. - N) n8 e3 ^7 b7 V) N' L) ]
复制代码
$ k! C1 ]  g8 A$ I

* S0 f: [# {. F5 k. ]: u7 _& f! D6 ^* M& C: c
引用了Acrobat类库,下图
& d) b" `/ h! b8 t( d- o, ^ 引用.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 AcroPDDoc3 h) n) T( m, D3 m8 W
  2.     Dim path1 As String, path2 As String, path3 As String5 A. `' L+ ]! y! `6 _# j4 P5 k
  3.     path1 = "d:\1.pdf"
    8 b  C" |6 E# i: m7 c
  4.     path2 = "d:\2.pdf"( u- y. x5 P- K$ K" L$ F" p: g
  5.     path3 = "d:\3.pdf"  s* S) a1 D9 R- c2 k
  6.     7 a4 O6 N+ \5 @: v+ c& U
  7.     PDDoc1.Open path1
      [5 f/ F. O. v1 E7 k2 Z
  8.     PDDoc2.Open path2
    # ]8 x; Z& O$ p9 D8 S# E1 E
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    # g! ]5 H8 \; d1 B$ `
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
7 m& {3 }  k3 l; L6 m' a1 H' k+ W& S
我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
, U- m- i, Y) O" D& e+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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