QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

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

2 v3 h+ g9 O1 _" b, c4 O
6 q  H( b2 b. w4 I$ O为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. 5 f3 \" a; e( ?
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    7 @* w# x0 W- V% C+ m$ X5 C0 l
  3.     Dim path1 As String, path2 As String, path3 As String
    , k. P4 @, s5 U: W) f8 J$ ]
  4.     path1 = "d:\1.pdf"7 A3 Y' \8 }& a
  5.     path2 = "d:\2.pdf"
    9 e% X; v" S4 r0 C  u
  6.     path3 = "d:\3.pdf"
    $ `* z" J1 [& U" i5 i. U) T
  7.    
    2 j' t$ Z( D! H0 o
  8.     PDDoc1.Open path1
    / C5 @. e, _" Z: C' {" E& A# I) D
  9.     PDDoc2.Open path2  W2 q! U. ^' P4 N9 h$ ?2 P. c
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    / C4 E# j# q. O" `3 p( A
  11.     PDDoc1.Save 1, path3
    * Y+ U8 ^, u. F/ s2 H( a

  12. 0 ]* j! x+ |' n: H# j/ e2 M# T
复制代码
. P6 B% E; ~1 ^( i. @6 ]$ R5 P
" T+ m0 p* x& F, M; k6 h

) w; K# @( c5 m* S0 {- F3 r9 ]引用了Acrobat类库,下图
! E6 \5 ]+ h* t- P3 E' Z( d/ c8 j 引用.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+ \) C' W% H$ y9 a
  2.     Dim path1 As String, path2 As String, path3 As String% e; O5 Y7 L- `. d& ~
  3.     path1 = "d:\1.pdf", [: d& K6 U' x% K; {+ w
  4.     path2 = "d:\2.pdf"& a9 L6 u  w$ a
  5.     path3 = "d:\3.pdf"
    - L' l. ~- C& P0 `
  6.     $ h5 E& a) K% U5 q0 a
  7.     PDDoc1.Open path1* _) U' c: j7 k. }" W
  8.     PDDoc2.Open path2
    ( Y" p& K+ |3 _
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    , ^# U, p( A3 g# T
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢* J* _0 A& u  o. r
& R9 c$ ]) ~' P1 n8 o
我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
2 w3 g! u5 k- U! h+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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