QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
/ m( E# o4 t  w7 |3 q0 J" @. g1 y
cad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
0 Y/ s& m0 G9 O1 ?  F' s) p, M有没有办法合并呢?或者直接输出成一份PDF文件?0 E) g: Q# x" w" b; \& s* F
$ ]6 Q2 T- ^! K  c
请大虾们帮忙
 楼主| 发表于 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% N; S/ J6 E, C. S8 `
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)
    & u9 n% {0 Q$ r/ t. g
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
    + A  q6 ~- s8 K/ T" t# f
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    : c" r* p# L# B) e" Q% Q) M) y
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 9 s  g9 e* `! P5 u$ Z$ o' L
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
+ t9 z9 i3 ?) TPDDoc1.Open 第一个PDF文档的完整路径(字符串)
: {" m, L; H/ v/ N, v' O/ hPDDoc2.Open 第二个PDF文档的完整路径(字符串)6 S3 s6 l% K/ O. v; j" S
PDDoc1.Inse ...
& A! Z- v  V+ N: u! {) X0 B, {: F$ Bwoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

0 L2 T1 {) {) ~" Y" F4 L7 f& w& x' B, e) J0 K3 m. T4 S
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. ) A: W0 x2 N0 s, M2 B8 k2 v0 I2 _1 f
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
      h; h( Z3 V8 t* `5 L
  3.     Dim path1 As String, path2 As String, path3 As String# y" q# N- F! g# `0 ~2 T$ W
  4.     path1 = "d:\1.pdf"
    & o/ o9 m) z& {, s6 \- s
  5.     path2 = "d:\2.pdf"# z+ ^( E! J/ h7 S/ `0 q( B
  6.     path3 = "d:\3.pdf"
    9 z+ |4 q" F5 f. w$ P: r5 O
  7.    
    . N; v; }% B! w0 l) @
  8.     PDDoc1.Open path1
    ! Z; ?9 U$ F: @- c
  9.     PDDoc2.Open path21 e: K2 l- n' K, C6 Q; N% q3 l
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    : W2 _% k( S2 p  D* z
  11.     PDDoc1.Save 1, path3" p" u: O1 B1 U. o4 ~8 @$ r
  12. : |- C+ `( E) i8 Y+ v
复制代码

" T5 T+ x# f' c$ {, g  D2 v0 d; [# }; P2 e
/ w" {8 {3 T: u7 ]* Y/ j
引用了Acrobat类库,下图. [, T" G/ X4 F% l' _4 b4 _
引用.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
    ; V5 D1 a' T8 r, b8 ?# ~
  2.     Dim path1 As String, path2 As String, path3 As String  d$ X4 d: u' Z3 \: w
  3.     path1 = "d:\1.pdf"( @1 {. G* @( I4 V
  4.     path2 = "d:\2.pdf"0 m& T1 r; _- A! a) q1 {% G
  5.     path3 = "d:\3.pdf"& P6 q- {" K$ V, a: W; `2 u
  6.    
    / Z, B  S0 ~% v5 c% M3 l6 M
  7.     PDDoc1.Open path14 ^$ c: S9 v# p% M+ B6 v
  8.     PDDoc2.Open path2  H0 W. u* i' ]/ d  |" C
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 08 c# v2 Q2 H. q* f5 _# f0 y
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
. ~3 Q1 ]8 e! k
4 N: k; h1 q# w3 D我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
) g: ^1 b* |4 G4 J% _4 G0 J# ~+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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