QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 8530|回复: 9
收起左侧

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件
/ n5 N/ A! Y* V
) T9 i* _( x  z7 ^4 u4 R9 |8 Z9 Ecad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件4 z5 G, S; J" s' @/ q0 H% R
有没有办法合并呢?或者直接输出成一份PDF文件?
3 g, U# j: U$ B* Q* `4 l7 C' G( q  e/ }, `( X% 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/ u+ V/ L. a) C. L
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)
      E% C; F9 f- h: ?4 }
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)
    / Z* g7 V& P& m7 U, o
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 04 h5 p" G  K; R4 q$ Z# H
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 8 D* ]. ]( O# g( M+ V
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc2 ]  a: l6 ~! m7 o, ^
PDDoc1.Open 第一个PDF文档的完整路径(字符串)
& h8 e# i$ }- M' g. ZPDDoc2.Open 第二个PDF文档的完整路径(字符串)
2 w- `# O3 N, N. D: O0 C* C1 zPDDoc1.Inse ...
8 S' M' S/ r; u0 ^% H4 o0 Wwoaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

' r! i( r. J# P: A- I3 X
$ j! K9 M! P3 \- r+ d% I为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并

  1. 6 p$ R8 {7 g% `3 E8 w
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc1 S; K5 P# `! M; a6 O0 z8 _
  3.     Dim path1 As String, path2 As String, path3 As String
    0 O% G8 Q! q+ @( N$ j
  4.     path1 = "d:\1.pdf"8 X+ m2 ^, V6 m" X$ [  _4 ?
  5.     path2 = "d:\2.pdf"8 `, E) p/ K' R: y, m
  6.     path3 = "d:\3.pdf"
    ! q1 r! I4 Z' g5 ^* e
  7.     ( ]/ @6 ^4 W  N( B' a$ y6 ^
  8.     PDDoc1.Open path1" E6 s9 r. C3 Z$ P! l7 t! B
  9.     PDDoc2.Open path25 ~2 G8 S) B/ N1 M" L% T( @
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
    + o' U- n. k5 d+ X2 v# f% z8 t( t+ E
  11.     PDDoc1.Save 1, path3' [! T( l# W& V1 M+ k1 }

  12. : ^/ w( A: v1 k$ P
复制代码

+ a- V; A- x7 G0 k4 v8 G7 [1 O6 S
  v* f( n! _6 M6 z8 W4 q, [& _0 q& l4 M$ C0 [
引用了Acrobat类库,下图. z. Z# T& W9 `! g/ Q1 c) G6 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 AcroPDDoc7 t  s$ {: S9 o2 i& b: v
  2.     Dim path1 As String, path2 As String, path3 As String
    5 `" Z9 j7 ?7 K; E3 P
  3.     path1 = "d:\1.pdf"
    " a, L, j7 X; R* |6 {
  4.     path2 = "d:\2.pdf"
    + B- T1 ]6 o7 z% Q( y* m
  5.     path3 = "d:\3.pdf"
    7 d0 Y; M$ U. \5 K1 V% r  i
  6.    
    ( N, @- ]& z( \4 \8 u
  7.     PDDoc1.Open path1
    , e7 {/ `2 v6 [& X; |  z5 j; O
  8.     PDDoc2.Open path2
    5 a1 Q' Z; @9 \& u/ A
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0
    1 \" d: N3 P. H: q: ~  T
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
4 c+ m1 h( ?9 Y2 f
4 T% I8 C1 Y9 j我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot0 x1 n( f& B+ f6 B
+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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