QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
18小时前
全站
goto3d 说: 版主微信号:caivin811031;还未入三维微信群的小伙伴,速度加
2022-07-04
查看: 7783|回复: 9
收起左侧

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

[复制链接]
发表于 2011-8-24 16:57:12 | 显示全部楼层 |阅读模式

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
. w. [0 m5 h5 S/ a8 t' [/ _' J
) {+ T) B% _( j8 n9 ?; icad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
: F+ D1 w, A- m( n" U1 O& q+ Z" f有没有办法合并呢?或者直接输出成一份PDF文件?
6 u8 L3 {  C- D6 |
7 L  [0 Y1 t# p& c  y+ T" P# _8 S2 H请大虾们帮忙
 楼主| 发表于 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 o& [3 _3 q# V6 ^) Y% L
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)" a2 l% ~/ a5 Q; @- s; ^! t
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
    ) z( f  ]6 X% S% v
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    2 ^6 I6 f4 l6 }3 x% P
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层
本帖最后由 157787698 于 2011-8-26 10:30 编辑 / P- Z$ Q4 j7 `  O1 _* A- F
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc* o+ q0 Y+ k( y* f0 @
PDDoc1.Open 第一个PDF文档的完整路径(字符串)
( i* p* I0 p& j7 p/ w" Y, K3 jPDDoc2.Open 第二个PDF文档的完整路径(字符串)
$ r3 v. B$ n! yPDDoc1.Inse ...
  b5 ]  k! L4 W3 _- gwoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

4 J$ z" |- F' i8 q! m( d- n1 }; Y4 j
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. 8 ~0 S2 J! d: I' @: U8 R# ?
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc5 N5 C+ ~4 Q+ o' c
  3.     Dim path1 As String, path2 As String, path3 As String& z& U& A+ d5 E5 f4 Z
  4.     path1 = "d:\1.pdf"
    5 ?: i9 \* D9 d  X& G6 ?
  5.     path2 = "d:\2.pdf"
    2 z  w) U) }- B' P) M* N+ H/ U2 x
  6.     path3 = "d:\3.pdf"+ c' r; q) j1 E' e$ M2 L- r
  7.    
    % y) i1 ?* ^! }4 ~) N, P; u
  8.     PDDoc1.Open path13 w3 h+ H! M# U; J' b' Q$ i, `
  9.     PDDoc2.Open path2( G* q. X7 t& \  @4 h
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 09 C4 e3 M. r8 m2 S! n! M
  11.     PDDoc1.Save 1, path3
    0 @' f& \, }: R, S# B

  12. . ]2 F  u% `/ ~; S6 r
复制代码

) i0 d, A! {! P  Z9 W
$ z$ B$ f' d7 b+ l; w3 P1 p3 e% U: u) Z7 }9 i
引用了Acrobat类库,下图
$ A/ U% C& b2 S% n, P5 t4 Z 引用.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 AcroPDDoc2 S. W" k. R, o) `
  2.     Dim path1 As String, path2 As String, path3 As String. A" o" N' c9 x7 W9 I' G
  3.     path1 = "d:\1.pdf"
    * ]. X. W( X- @- l) t3 o
  4.     path2 = "d:\2.pdf"
    7 j. u  f1 k) \4 W
  5.     path3 = "d:\3.pdf"+ r" S! P, ^8 b
  6.    
    8 B3 c; x3 e: c& u1 B1 w# |
  7.     PDDoc1.Open path1: r/ B& z0 p3 n, ]# M+ y  w( u" s
  8.     PDDoc2.Open path22 b6 S$ o1 w, c3 S0 O
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0( W8 @7 y" |; \% Y7 _
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层
多谢
; F0 D; G0 b2 r& R3 r( A# t" J
6 g1 G  ~" ?1 W& V" n+ ^5 B7 d我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层
批量打印 batchplot$ V& K, n6 U9 @2 ^4 V1 r
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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