QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
  _3 z; ]2 Q! j: `8 Z; |
$ ]' J* b' k9 d; fcad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
2 m! o1 X1 q( z$ ?  p/ r; d有没有办法合并呢?或者直接输出成一份PDF文件?1 n7 t# D# ]$ D* y, G
+ `. p+ k: t! o# @$ S  }
请大虾们帮忙
 楼主| 发表于 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 J  \. T; T. f* w! y
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)
    % M0 `+ U, l( c/ C7 u8 Y9 e. O
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)* T, w8 J6 g# ~
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    - B6 M4 k/ l; a, D! X/ V
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 2 t& j% O" N9 N/ w9 z! h
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc+ S& B( F( E' W  e( N* i
PDDoc1.Open 第一个PDF文档的完整路径(字符串)! [0 X+ V# j$ C  y
PDDoc2.Open 第二个PDF文档的完整路径(字符串): o5 h% I" s# U. \' r
PDDoc1.Inse ...
+ J& |6 U/ W4 R- F$ o8 Vwoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

0 y" c4 D1 T! t2 z+ i* O+ a' j2 N7 w% ^5 F! l
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. . r- c* o# I) V* `+ n
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    & @$ m& F5 @5 }: _6 `9 P
  3.     Dim path1 As String, path2 As String, path3 As String4 [. z4 A6 b9 z  `/ k" C& \. a: a
  4.     path1 = "d:\1.pdf"$ H) y, I% l/ w* I" V
  5.     path2 = "d:\2.pdf"
    & ]/ ~7 c3 P6 n% b) }3 S
  6.     path3 = "d:\3.pdf"
    ' Q8 P' N8 T+ X5 K- ]0 ~. q) B
  7.    
    0 J" ], T* i' d, B
  8.     PDDoc1.Open path18 K* ?2 V! `. r+ S9 C; ?& G6 S
  9.     PDDoc2.Open path2
    * B8 K  T8 f1 ~" |  k) @
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 05 {# I/ E5 y6 d$ A! i! a+ w' ?8 n+ u
  11.     PDDoc1.Save 1, path32 ~' O5 L) s( x# l; _: ^

  12. & v# q. C% E1 u/ D4 K1 p
复制代码

/ {7 e3 m) Z# l; O  N& b+ b) u! S7 ^  I1 u# @" I

2 E9 n  n0 V* l# q, E引用了Acrobat类库,下图
+ n! u3 e9 V( z2 e7 B' [4 H 引用.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
    5 Z/ H- }2 Z. q2 O  b( y
  2.     Dim path1 As String, path2 As String, path3 As String
    " ~, B9 p6 J3 E# Y4 Z9 [. M* e, Y
  3.     path1 = "d:\1.pdf"
    7 u4 M8 i$ _5 a5 {1 J# c4 X( e
  4.     path2 = "d:\2.pdf"9 U, D9 ]2 s* f7 g: @
  5.     path3 = "d:\3.pdf"
    ' B( x; O; x$ ]
  6.    
      M8 {* S% c9 t1 ^
  7.     PDDoc1.Open path1+ @$ ], H9 E2 [5 ^1 `! @
  8.     PDDoc2.Open path2) I/ h' N: w/ e6 l
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    - y1 l9 s, F% l' Z5 q2 J$ z
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
9 d: w' r  z4 Z2 O" x' v/ \6 M; a. B, I9 i8 s, a' `
我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot+ A/ Y. ~# s- a  }& _, A
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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