QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
2天前
查看: 8670|回复: 9
收起左侧

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件+ }* T5 G( ~9 F
% L! D, N7 |6 Z4 ]
cad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件8 v! J  w, a6 v
有没有办法合并呢?或者直接输出成一份PDF文件?" }: A8 I% Y7 e% V5 f6 a

& B$ {2 ~" M4 Z/ D  ?请大虾们帮忙
 楼主| 发表于 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& j+ A2 P7 ?4 A7 ~( B7 R
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)% b, U* x; H/ ~5 E) p7 [
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)0 K5 G/ Y, j0 _5 r, C$ G3 M
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    2 _1 ~  C+ L( ~6 w
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 0 g/ E; {. N: p/ d9 U3 w! O
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc) I! ?, s0 P0 z0 n  L$ {0 z
PDDoc1.Open 第一个PDF文档的完整路径(字符串)2 P7 B, V6 F9 Y3 A! ~; _
PDDoc2.Open 第二个PDF文档的完整路径(字符串)
" |: Z3 T: }# g" n* V1 `  fPDDoc1.Inse ...
  _+ Q4 O3 v4 V/ D4 R7 Zwoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
( T2 y/ C+ u6 k' [1 u1 T

& `' }! P% a5 [6 k8 ?为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. - t& U8 c! j  }3 r, K! c% b0 u
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc( _# C" ?* `: n& M
  3.     Dim path1 As String, path2 As String, path3 As String; f1 K4 F" [8 _2 n
  4.     path1 = "d:\1.pdf"
    6 u& k9 z! y' A! D4 @# p3 n' V
  5.     path2 = "d:\2.pdf"
    , ^  c) O4 L" R7 u0 r7 |4 j2 i
  6.     path3 = "d:\3.pdf"
    ) M' m/ |: _. x  V
  7.     + s# w( l# ]0 f- S3 |" ~$ [' l
  8.     PDDoc1.Open path1) i( D, L- L: @: Q6 l
  9.     PDDoc2.Open path2
      w1 X/ B$ D! C+ I2 H# ?7 [+ c# E8 X
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    * P% A2 ~" `7 p1 f: `1 e& }% O5 }
  11.     PDDoc1.Save 1, path34 e6 _  v9 [$ I: @' N
  12. 7 Q' P9 c2 M& f7 B! z
复制代码
9 r( {3 V5 P  T' w& I( A6 t
  C6 O  P* \% Z- ?+ S2 E, ]2 O
0 ~, d, y! B8 U2 u: A4 w
引用了Acrobat类库,下图/ p# a4 E: W, {, s; W; M
引用.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 v' y8 `* B! |* l4 `  D0 {! E( ^
  2.     Dim path1 As String, path2 As String, path3 As String& i# {2 q. K! {5 y6 T4 w8 S
  3.     path1 = "d:\1.pdf"
    1 S9 J! ~5 {. ?& p, g' K
  4.     path2 = "d:\2.pdf"
    $ k* t( r) A7 {- h2 L
  5.     path3 = "d:\3.pdf"
      a. Y) N) B- Y4 a0 q# o
  6.    
    ( o/ Z$ ?, o  W/ P' w
  7.     PDDoc1.Open path14 }& w+ Y5 u8 u4 `- H: C
  8.     PDDoc2.Open path2: O+ R) ?' D6 N+ R
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0' _; `0 S# O1 E, x- W; [
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
) p% N: }# u9 W; l$ U0 F7 `; M) Q# z$ q* V! X( ?
我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
' f; }0 Y: l3 U+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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