QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件3 T7 w" E4 v1 S' U, @

5 ^# Y& [. ~' Pcad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
' X8 H# r! i& j! j+ I- |6 q. L$ }) ?. J有没有办法合并呢?或者直接输出成一份PDF文件?
5 S# p6 Y# m! J: W/ T/ P) ^- _
9 M$ d& u) d4 {* f" D4 u$ z请大虾们帮忙
 楼主| 发表于 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
    ) }0 J) y  \6 \8 w( {8 x
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)+ X8 I6 Q5 L4 ?& F+ Y; O1 C7 p
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
      A  |4 t! z- y/ x; A3 `( @9 }
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
      \- r$ c7 x6 g! E
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 9 D$ z& E5 d% L: Z' ~
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
5 w2 U$ z9 p4 h% A- N/ yPDDoc1.Open 第一个PDF文档的完整路径(字符串)5 d; V( `" l9 P8 p
PDDoc2.Open 第二个PDF文档的完整路径(字符串)% H% P0 C2 W$ S. d/ U" I/ h5 z1 i  r
PDDoc1.Inse ...
; @3 c3 m2 v+ Hwoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
( N" Z  p2 ?/ B7 `' q

' H7 K+ I6 O8 Y; A5 ?$ J# m为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. , t( n3 \" y4 K
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc) t8 S7 D$ f- f' w8 M$ z
  3.     Dim path1 As String, path2 As String, path3 As String
    $ {! \( l& J: x, g9 ~& p- O- _
  4.     path1 = "d:\1.pdf"
    - y4 J9 Z7 u- g, P8 B+ {- M' _; n) _
  5.     path2 = "d:\2.pdf"
    % g, p6 B* `1 l# b9 p/ C' ~
  6.     path3 = "d:\3.pdf"% h' i% U% Q- h  m! N0 c
  7.    
    ' }. T& d' f8 W  c9 O9 G7 E
  8.     PDDoc1.Open path1  @# S5 u% P7 F* U$ [# C+ h+ `
  9.     PDDoc2.Open path2* I8 e, Y2 f4 j% y8 u2 F0 R& f# h
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    5 ?1 z) K0 l) k. P$ Y
  11.     PDDoc1.Save 1, path3
    ) H' q, {# @0 r+ A  Q
  12. * C3 d6 a) H: q& j
复制代码
: i. _3 y7 b+ v8 }. x$ T

0 r1 y1 W! O# x: I$ d4 N) u' k- R4 u  S2 R" f
引用了Acrobat类库,下图
% H' j: V% x; S5 G3 q 引用.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 AcroPDDoc8 X" l' c" a  Q3 O
  2.     Dim path1 As String, path2 As String, path3 As String
    + E0 I) U# ~  B
  3.     path1 = "d:\1.pdf"* L2 u3 b' r' k* U8 U" G! X
  4.     path2 = "d:\2.pdf"
    " ?7 Y7 q: B% S3 Y1 \
  5.     path3 = "d:\3.pdf"
    : g- P( |2 f9 z) G
  6.    
    0 m) n( k5 R/ L6 S
  7.     PDDoc1.Open path1. l2 j$ R: p3 Z/ v1 {
  8.     PDDoc2.Open path2; G- D5 v; y" m" G5 N1 ^' Q7 L
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0# v2 `' t' ^: K" V- b
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢' a7 C9 a# Q5 D/ J

; w; S) B( c/ f/ f我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
8 a. M" O9 D' _6 L+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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