QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 8433|回复: 9
收起左侧

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
0 v( {9 Y& |: c& V  a  _# n
% L0 @3 N; `9 Mcad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
# U& X3 J/ ~; H% t有没有办法合并呢?或者直接输出成一份PDF文件?, z; h: l; s" A

3 g; F3 o9 x% ~, J请大虾们帮忙
 楼主| 发表于 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 AcroPDDoc5 Z3 @# E; U$ J& b  X
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)
    6 E" Z& v$ k4 T. R
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)6 @7 N  y4 v2 H5 S
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0/ N+ U# g3 p' b, M9 \9 P7 S
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 & Z6 t) `3 i$ n4 y3 Q( U
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
# O7 E* P6 k  H2 H' vPDDoc1.Open 第一个PDF文档的完整路径(字符串)7 ]/ A" s8 _5 U1 i( d! ?0 e: Y
PDDoc2.Open 第二个PDF文档的完整路径(字符串). g' ?, R  J0 b
PDDoc1.Inse ...
9 `" t4 a$ H4 n8 ~% Y5 w$ owoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
/ l. E* b& j/ c' v! P- P' Y5 y0 X
2 ^+ H6 U& v% T6 @
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. * ^8 ]3 O( R; N. b- Y
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc+ p& C. d6 [$ I: X1 _
  3.     Dim path1 As String, path2 As String, path3 As String
    7 T5 W" p: \2 _- a5 g
  4.     path1 = "d:\1.pdf"
    & E1 Z& U% q$ ~
  5.     path2 = "d:\2.pdf"
    . z: N( b6 Q5 V' a2 Q" P: k: a
  6.     path3 = "d:\3.pdf"
    ' K, ^: l/ |* n% ^" d/ h9 c" {4 E1 z
  7.     $ r! j" b/ C1 x! ^6 [
  8.     PDDoc1.Open path1! P! E" E  J# q1 U, C# G
  9.     PDDoc2.Open path2
    7 f! [( a( j7 x. A( D6 A1 \3 B
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0: D" Q: E4 ~5 j- H3 U7 K* P
  11.     PDDoc1.Save 1, path3" [! @8 z, z0 F& D7 V. |

  12. 5 D4 x) Z2 G/ j+ C2 A! h- y" ]# k1 M
复制代码
8 o, a$ b/ i, n/ U7 e
0 ?2 Q$ V# |6 E) m; g
) B2 n- a% [7 H( I: M
引用了Acrobat类库,下图
3 }) i2 h$ E: @. E 引用.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' L9 k( h! d7 h5 \# [
  2.     Dim path1 As String, path2 As String, path3 As String
      S3 y+ m+ n6 z/ P7 q
  3.     path1 = "d:\1.pdf"' V; A: f$ [5 J2 h8 T8 ^- Y# d
  4.     path2 = "d:\2.pdf"
    ) N/ `, U6 ~, B% M
  5.     path3 = "d:\3.pdf"* ?8 N, ^9 b0 _! L) Y
  6.     : ~" k( R0 ]7 ^$ P* _
  7.     PDDoc1.Open path11 E0 H, w4 g7 F. l/ e6 Q3 R/ a
  8.     PDDoc2.Open path2
    6 S" i* y6 i: k: H* n- P
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    * Y0 i6 n1 x# G: B8 X8 ~8 Q
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
) @0 n2 R% w9 R0 d, H5 I# `: a5 ~) K5 L1 i3 q
我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot, X- M! i' M' ?( H% V& S! u
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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