QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件  J, G+ c7 p5 ]5 \8 |% z- R; Q

6 K0 O5 v+ C- W/ Scad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件) V" {3 i( q  m% L! v* J
有没有办法合并呢?或者直接输出成一份PDF文件?
, e4 i6 I$ m% ~  }" p* E: v2 Y1 i: f. M* q4 D- j* r7 _
请大虾们帮忙
 楼主| 发表于 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
    3 \' G% j- G+ I6 s+ T
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)
    5 e# ~( \9 E/ V* i# J7 y7 I- B# D
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)" R7 W2 r, D$ c% Y" l4 ^
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    : R; c+ u+ P& i5 `' F% u: Y2 @
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑
6 x! S: H  v& v
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc( o# h2 E* _) n3 w$ `) b2 u
PDDoc1.Open 第一个PDF文档的完整路径(字符串)/ H. W& n+ b4 l1 u+ [
PDDoc2.Open 第二个PDF文档的完整路径(字符串)- f, I1 ^1 L7 I3 x" _) d! k
PDDoc1.Inse ...
; `" J2 E& V9 ewoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

; h9 x7 |# I4 G3 u0 w5 ^9 [1 r6 R" E3 @
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. ( h- f9 }, f! X9 ~# g
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc6 A. R; a  X9 v3 x; l, @2 B
  3.     Dim path1 As String, path2 As String, path3 As String
    " X. \0 _2 O  S# }
  4.     path1 = "d:\1.pdf"
    1 N5 [& D5 g5 p* I
  5.     path2 = "d:\2.pdf"
    & w* ^# b+ [; C$ Q
  6.     path3 = "d:\3.pdf"
    7 m5 ~0 P  h2 C& J+ L
  7.    
    6 J) u( @- z. V: h9 I' }$ j1 a
  8.     PDDoc1.Open path1
    : {' I3 J. i0 r2 F6 t
  9.     PDDoc2.Open path2+ K$ X1 `4 Q( G( u
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    7 U* M# o% ?! v' X
  11.     PDDoc1.Save 1, path3
      z1 z5 j/ L1 t0 D9 T$ C7 F

  12. & w4 {! a3 O7 r% T, v: n" T
复制代码

+ c) S0 d4 V& M- o- ~2 e, W# l7 z' A- y# N5 ?
$ C" Y9 i% ^- |; U/ P
引用了Acrobat类库,下图
5 h0 Q6 U3 B3 y& Y( {/ j! Q0 f 引用.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
    1 {# X8 G) n/ V2 q4 z
  2.     Dim path1 As String, path2 As String, path3 As String$ e2 x8 Y& e  n( R1 x
  3.     path1 = "d:\1.pdf"3 i' x* }  f$ f3 Q- o5 I
  4.     path2 = "d:\2.pdf"
    + h% Z4 g! X/ J& f- p
  5.     path3 = "d:\3.pdf"
    * X# X' I- G1 N  E4 p2 E8 F
  6.    
    3 G: k# k* [$ I: i0 F
  7.     PDDoc1.Open path1
    ( n' S$ b* O+ G  f, j# X1 e
  8.     PDDoc2.Open path26 V5 P$ H. g1 ?/ i' s; k
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
      H( l" M) f7 ]" r; n* ~  N
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢' h3 r2 x  q8 s0 T2 N# I( I; p; Z5 G

+ c2 X9 B3 c. X7 w# k我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
9 p$ O+ n- D, h) K+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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