QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
4天前
查看: 8676|回复: 9
收起左侧

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
  C1 e/ [$ H6 q) H) z' p) V3 e+ E3 p+ P& v" x
cad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
+ k3 H! f! `3 H$ X2 u& U+ Z有没有办法合并呢?或者直接输出成一份PDF文件?) O6 j4 g' K3 z% M+ ^/ ~
3 p$ h) ^/ T( }
请大虾们帮忙
 楼主| 发表于 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
    " G9 ]* q8 G, X7 e
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)
    : A( }. p+ ]9 i3 Y3 V0 T3 r& x3 d
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)9 R& U  L3 E$ _; L  d! u
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0$ I5 A. [1 X9 g2 G. }0 X; L# [
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑
) `6 z1 s2 W+ |3 I& C6 |: M
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc1 T5 L0 Y0 o4 \0 Q% ^& M
PDDoc1.Open 第一个PDF文档的完整路径(字符串)* Y  x9 ]9 @7 f& z
PDDoc2.Open 第二个PDF文档的完整路径(字符串)
) ?  V; Z, K- ?- D7 e% DPDDoc1.Inse ...# a% \: \4 ?! [0 D# M0 \
woaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
0 A; ~6 r5 Z) P/ A) _! ], ~3 |3 L

) P6 R1 Y$ l* g) R: J1 s0 \# Y为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. $ C; P# O0 u, `6 M" c9 w
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc" {5 l% W5 v$ _6 C) R4 T6 C( o
  3.     Dim path1 As String, path2 As String, path3 As String
    1 v% {: p2 _; Z3 s7 R
  4.     path1 = "d:\1.pdf"
    5 J6 \; Y& Z* e' n
  5.     path2 = "d:\2.pdf"
    3 {0 N5 ?. e( C0 i  `
  6.     path3 = "d:\3.pdf"* n( `* G  O& ^3 z  L' d
  7.    
    + I/ J3 ?; g4 Q9 O) K
  8.     PDDoc1.Open path1) u. U6 H7 {, ?( ?
  9.     PDDoc2.Open path2$ J& v; }" Z: ?6 ^8 d% K, N
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0+ L3 H1 @9 k, \. b+ `& q0 m
  11.     PDDoc1.Save 1, path3+ S2 u7 z4 d( N: x- L5 m% e
  12. 5 a- B* w6 w9 J! p# C
复制代码

. x* `" p; |' r* X' a2 H  f) f4 v9 r, Y' d( c7 C7 m8 j. H/ R  n
. |! t& N" _. j  d
引用了Acrobat类库,下图
; I5 ?6 `7 k( H# P 引用.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! Z" w! r! n2 I  z; F& i( {( ~
  2.     Dim path1 As String, path2 As String, path3 As String
    8 |- D/ @# f. u" C
  3.     path1 = "d:\1.pdf"
    0 c! M/ n: M5 G2 t9 _) l4 g) o+ h
  4.     path2 = "d:\2.pdf"0 g6 ?! i& L7 y7 ~3 r
  5.     path3 = "d:\3.pdf"+ q: b% z8 s0 c+ c# _6 r
  6.     , D+ y! o, i. I8 t1 a( Z
  7.     PDDoc1.Open path1
    7 A! j# j  L; o8 k% \% m
  8.     PDDoc2.Open path2- x/ @1 d/ x6 W0 m0 p% d
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0/ ?+ L1 `/ D1 [2 v/ l8 ]+ W% m, b
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢3 x# z; q& E  Y
3 \: n$ J' g3 |7 ]5 o
我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot- G2 X: y# c& B+ T0 a+ H
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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