QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
1天前
查看: 8703|回复: 9
收起左侧

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件3 H: U$ P+ M3 D' i% M! G. B

+ O4 B/ u2 Y/ m' S' \cad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件6 x. ^4 P1 C) u% B+ _
有没有办法合并呢?或者直接输出成一份PDF文件?' G8 T9 }8 L8 C* |9 C/ z
2 z8 _; F3 h- c, \/ @. Q' t& g& g
请大虾们帮忙
 楼主| 发表于 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
    6 C* @- x, f/ }4 Z8 p/ p
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)6 D6 H0 |* U& w& M
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
    * A5 M2 k' y% U+ n1 }$ g
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0
    4 a- R; O6 O6 J- o7 }
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 9 T  a4 u# {) m' y" Q
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
+ a0 J$ _9 w! b8 e% _! OPDDoc1.Open 第一个PDF文档的完整路径(字符串)* S1 I2 {5 T7 f; s
PDDoc2.Open 第二个PDF文档的完整路径(字符串)
( z  s  b4 s8 O& D" vPDDoc1.Inse ...& m3 X) H9 x: I0 W) o4 L  e  A0 H
woaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif
  c4 N5 M* q% f5 a. T  ?
) J: B# l. e$ S( L  U. h" j2 P
为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. ) f; \2 I; I- F, n
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    7 p' e9 P7 e: z6 O
  3.     Dim path1 As String, path2 As String, path3 As String, B" m( a( a0 r
  4.     path1 = "d:\1.pdf"
    & r; {6 _+ h1 ], R! ^
  5.     path2 = "d:\2.pdf"0 R1 a7 {( k. m/ ?& z! p4 p
  6.     path3 = "d:\3.pdf"
    / l5 i0 P: A4 y3 I$ y+ h
  7.     ( d( A- I9 O2 b1 A7 N
  8.     PDDoc1.Open path11 L6 z5 N2 T' G
  9.     PDDoc2.Open path2
    ' O& ^( T* i0 {& X' X! x
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0# F' T. @; [7 e' I
  11.     PDDoc1.Save 1, path3
      X; q, T% Z* F+ `$ d
  12. / g, N2 I. t! N* M* U( Q
复制代码
, W7 Y4 N2 `0 T, r$ I1 k/ v
$ Y8 v$ c$ K/ y% [

" w3 e8 I' Q( r+ k  d) f/ p; }3 h引用了Acrobat类库,下图) l, k4 B& x+ q/ b; h
引用.JPG

1.pdf

51.79 KB, 下载次数: 5

2.pdf

51.27 KB, 下载次数: 3

发表于 2011-8-26 10:42:15 | 显示全部楼层 来自: 中国辽宁
页号错了.我在5楼已经说了页号从0开始,呵呵
  1.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
    . p/ @; S8 H' b' U
  2.     Dim path1 As String, path2 As String, path3 As String: m; W  t$ R* D: t- f& z
  3.     path1 = "d:\1.pdf", g. F; b3 R3 q$ X
  4.     path2 = "d:\2.pdf"
    ( w; p& n% s3 Y5 k- x) q5 W: j8 u
  5.     path3 = "d:\3.pdf"9 F4 Y$ g9 c& c- o. [4 q
  6.    
    9 J$ c- `  p% a9 J0 J1 ]7 p' e1 v
  7.     PDDoc1.Open path1) |: K3 b" n( H  G& D
  8.     PDDoc2.Open path2
    4 x( r# [2 S" T# {; f6 g
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    0 ^, b+ d5 r. C# E
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
8 ]& @1 M. ?9 I! _, o
5 Y8 U' t( R. o. S我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
3 r% D* \% C/ {  S. M, I/ x+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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