QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
, q$ r- m3 {. Y* i9 m5 [& J
" K! P' k/ ~. ^4 J3 ~  |" f' wcad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
2 D! m0 C. O9 {& [& ]1 D! }6 p有没有办法合并呢?或者直接输出成一份PDF文件?: f' G$ a5 l. ^: w' l

* T, O2 D- k4 A2 G) ?请大虾们帮忙
 楼主| 发表于 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 AcroPDDoc3 T7 F7 S/ K: a
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)3 Z* J) [4 k' m3 A3 ~
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)- N, l/ p3 r! s
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    + l" M9 B( p0 [- o/ H6 A4 E
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 ( g, L$ v+ ~' T
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
, T& X3 i2 l1 j( f, F5 ?# Z5 m2 aPDDoc1.Open 第一个PDF文档的完整路径(字符串)% ~, i' T( f( V$ P: b$ X2 o3 C9 t
PDDoc2.Open 第二个PDF文档的完整路径(字符串)/ O: K6 e, S, x+ F/ w+ A% q0 ~
PDDoc1.Inse ..." ^8 z3 n- l+ C$ J1 F! b+ L6 ~
woaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
1 o$ G0 g* c0 Z+ |+ W

( k3 g4 M/ ^' z' e: u! W为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. 8 F4 E7 p+ q3 r& _
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    2 ]% D+ }% y% H8 M2 k# f) n+ M
  3.     Dim path1 As String, path2 As String, path3 As String
    2 U+ F- ~; V/ e( [' m' M: w
  4.     path1 = "d:\1.pdf"8 k# o7 n( D1 ^- L
  5.     path2 = "d:\2.pdf"
    7 ~, c+ V4 w$ q7 G1 t
  6.     path3 = "d:\3.pdf"
    $ t+ D- ~. x& X, d+ ]! F
  7.     * j7 V! U" D1 S4 c' n
  8.     PDDoc1.Open path1
    7 I- z/ z; E  b7 ]
  9.     PDDoc2.Open path2
    0 Q6 \- u( F9 Q0 @7 d4 ]; E! B
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 03 [: q$ t/ i' m  n
  11.     PDDoc1.Save 1, path3
    ) z3 @) H/ x7 ~* N" J" O; i

  12. # t/ |+ k: P0 R/ y# c% Z
复制代码

+ a) D& `3 Y# \' ^7 b( E
. Y: b! o" D& j) B% z
# @. t. [! }9 D  _: p6 n引用了Acrobat类库,下图
% S. R7 P3 q" E. d1 ^+ y 引用.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
    0 F" [* w) k4 U- i5 `
  2.     Dim path1 As String, path2 As String, path3 As String
    ( Y0 i1 e0 r( @' v
  3.     path1 = "d:\1.pdf"
    8 Z7 Q' v  ~" L9 w
  4.     path2 = "d:\2.pdf"9 r6 {0 u# F3 A5 c) k
  5.     path3 = "d:\3.pdf"
    1 i  f- |6 X9 E/ S! T6 m  \; o
  6.    
    2 z0 T, h: e. B1 |  u6 S0 `
  7.     PDDoc1.Open path1) c& m( L6 `4 K
  8.     PDDoc2.Open path2
    % }' g' o' `+ z; s' `) P# L9 {
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 06 B( Y+ Q5 [/ L$ l
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢( X; N9 i+ U) `5 [$ o
- N0 `2 o/ s; S# _5 H
我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot  n9 T& }- S) ^6 C
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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