QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件: Q: f5 V& u8 c$ J  X$ p8 ^0 J

* [/ h$ E, b# ^4 Y, v- v! @cad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件: e0 j  Y6 C. R
有没有办法合并呢?或者直接输出成一份PDF文件?
8 f3 z! f/ i# e) H$ C9 j4 [
1 p; ^$ @( t, c2 P0 ^  f3 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
    $ _: \9 ^$ n4 }7 n
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)
    ' [, c- P7 u; H4 N3 v, [$ w
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
    ) T2 H$ O' H" o( |
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    * p6 g& x6 `# E4 l+ K; }7 f! I
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑
. `0 b* _7 X  `8 q9 O9 X4 D
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
6 O  ], R7 T7 \  ~PDDoc1.Open 第一个PDF文档的完整路径(字符串)8 w+ Z) \; t% a* D5 h) i
PDDoc2.Open 第二个PDF文档的完整路径(字符串)$ B) _0 Y' u4 o  d; f  y
PDDoc1.Inse ...0 }7 B3 ~: c$ y% a( N' Q0 m
woaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

! ~4 W; r3 D2 N  j, o* J( }3 w% [( s, w2 M. t1 y
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. 7 m: l; W2 l( U. u; p4 y
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    " n# P; `' Y' M) R, N! k- `2 X, a% q
  3.     Dim path1 As String, path2 As String, path3 As String
    % k4 I8 c/ H* v% ^% _
  4.     path1 = "d:\1.pdf"
    8 |7 }  Z7 Z/ W  p
  5.     path2 = "d:\2.pdf"
    4 h/ y+ P7 q! O' [0 x% J, l
  6.     path3 = "d:\3.pdf"
    + j4 w. ^6 k/ h; x& |* n( N
  7.    
    ! N8 V3 E# ^7 a" p5 t
  8.     PDDoc1.Open path1
    , i( w  O" I# q4 ?7 ]
  9.     PDDoc2.Open path2
    * k( N! H! Z0 A3 H$ O0 V
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    4 j) a* e8 P; l1 A
  11.     PDDoc1.Save 1, path3( ~$ N, M* a9 B* `0 m  i

  12. ; b, z! S- I4 F# ?1 C
复制代码

% y) {5 B% U0 D; p4 b0 o5 l
( _- v3 F) y9 N- t5 @3 ?
3 {9 S! G/ e) @引用了Acrobat类库,下图
5 |$ W9 [9 P2 H: k$ ]3 Y) k  n; c' v 引用.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 AcroPDDoc4 u8 y, K* O- J9 q$ f
  2.     Dim path1 As String, path2 As String, path3 As String
    / r: S* \3 H! v4 L/ t! Y0 v
  3.     path1 = "d:\1.pdf"* f- `  _- b6 z3 b% [/ g
  4.     path2 = "d:\2.pdf"
    # p( @# v3 Q7 `+ q; G% ~& J) V
  5.     path3 = "d:\3.pdf") o$ l$ g& u) e& v
  6.     4 q6 x1 n0 L  m2 o8 N
  7.     PDDoc1.Open path1
    ; e% b/ p$ w, R
  8.     PDDoc2.Open path22 L9 B( J! z& F( W8 r/ U, A
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    ' l7 w  U# }- Y# c0 l1 [
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
9 [9 Y3 t# p2 J6 I/ u- H8 b$ ?
0 {0 t  ?1 G/ _' u我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot- i3 m  \$ H+ [
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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