QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
如何合并两份PDF格式的图纸?或者如何将一张CAD图纸里面的所有图框打印成一份PDF文件& A+ B. k7 I9 y* Y7 [
* O: B6 R$ \. E1 m: ?7 |* }
cad图纸输出成PDF格式可以直接调用ADOBE PDF打印机,但是如果一张图纸有多个图框,将打印成多份PDF文件
1 s: d0 F/ x) p9 }, B5 b# g有没有办法合并呢?或者直接输出成一份PDF文件?! d+ i3 [" W2 W, d

4 E& R' C/ b: h请大虾们帮忙
 楼主| 发表于 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
    : I# i8 I" X, ~2 g" [
  2. PDDoc1.Open 第一个PDF文档的完整路径(字符串)2 O  c+ x; A& i( @
  3. PDDoc2.Open 第二个PDF文档的完整路径(字符串)5 W& J' [% g) Y# u
  4. PDDoc1.InsertPages 第二个文档在第一个文档中的插入位置(页号从0开始,在该页后插入), PDDoc2, 要插入的第二个文档内容的起始页号(从0开始), 插入的页数, 0" V  v+ c* ^, o# K- R+ v: {
  5. PDDoc1.Save 1, 新文档的完整路径
复制代码
 楼主| 发表于 2011-8-26 09:42:01 | 显示全部楼层 来自: 中国浙江杭州
多谢斑竹,我去试试
 楼主| 发表于 2011-8-26 10:27:13 | 显示全部楼层 来自: 中国浙江杭州
本帖最后由 157787698 于 2011-8-26 10:30 编辑 ; P3 d9 g% a/ X, X* q' d7 }
使用下面代码前应保证安装了Acrobat并引用其类库Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc
- I2 z2 }! ~) h9 y+ N$ p! ZPDDoc1.Open 第一个PDF文档的完整路径(字符串)$ |8 n" ^7 `7 L( H
PDDoc2.Open 第二个PDF文档的完整路径(字符串)
* N  D! s0 Y. b" pPDDoc1.Inse ...% E8 g- q$ c. h3 l- k) D
woaishuijia 发表于 2011-8-26 08:30 http://www.3dportal.cn/discuz/images/common/back.gif

0 z9 }% C7 K& Z; }* M
/ b6 [" P3 h5 h) O. |为什么不能合并呢?下面程序只是把第一个文件另存为并重命名一下,并没有实现合并
  1. ' L3 m  X# r' h4 W  M5 p* ]$ R
  2.     Dim PDDoc1 As New AcroPDDoc, PDDoc2 As New AcroPDDoc+ h* i$ u7 {" Q
  3.     Dim path1 As String, path2 As String, path3 As String% y) D% i) N" y( U
  4.     path1 = "d:\1.pdf"
    - b$ E/ M! a8 L: ~* C6 E2 e
  5.     path2 = "d:\2.pdf"
    ' f& O* o" O0 r! l+ ?
  6.     path3 = "d:\3.pdf"1 h- A& q' C& q; [" L7 c3 ^6 z0 ?
  7.     ' x8 E" W) ?6 m: Q( u
  8.     PDDoc1.Open path1/ Q" u3 U4 q8 g+ o# V6 l, _6 \
  9.     PDDoc2.Open path2, M0 ^+ F6 P* ]' E, h( e
  10.     PDDoc1.InsertPages 1, PDDoc2, 1, 1, 0
      I0 M$ H9 F, k5 B7 G" {/ I0 k" O
  11.     PDDoc1.Save 1, path3
    3 V- {/ C( x) C4 l2 a; l& M

  12. " t- E2 h+ f- g  M
复制代码
! I& B8 _$ d! D) x7 V7 S
5 w* P5 [# b2 R* j2 i
5 A  K8 l" ]  Z+ [* |, U" P
引用了Acrobat类库,下图1 F6 Q  l# p) w9 H
引用.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
    - U4 V; a! t) V5 ?2 ?
  2.     Dim path1 As String, path2 As String, path3 As String% b0 Z1 Z4 j8 i$ c, Q4 N: N
  3.     path1 = "d:\1.pdf"( E0 S3 o6 g. u1 ~2 J$ E) W9 S. q) O
  4.     path2 = "d:\2.pdf"& V, @1 M' i& x1 t1 F
  5.     path3 = "d:\3.pdf"
    0 y  w6 G1 y0 r+ S6 f" \
  6.    
    2 r$ ~# G5 L+ c0 u- x
  7.     PDDoc1.Open path1/ Z7 }" I. ]! I
  8.     PDDoc2.Open path2! b$ `$ G" F9 Z/ u! B
  9.     PDDoc1.InsertPages 0, PDDoc2, 0, 1, 0+ L4 ?, T4 \  J, n2 h
  10.     PDDoc1.Save 1, path3
复制代码
 楼主| 发表于 2011-8-26 13:20:59 | 显示全部楼层 来自: 中国浙江杭州
多谢
' A2 c+ v3 }3 j$ Q. E
0 p- @) t3 F4 L7 J7 u% q我理解成了页号可以从0开始,呵呵
发表于 2011-10-10 21:12:11 | 显示全部楼层 来自: 中国江苏南通
批量打印 batchplot
; z- J, m$ R& T* t$ `. p+pdf factory 可以实现
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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