VBA使用Acrobat Distiller生成PDF文件
2006-02-14 22:18
926 查看
原理如下:
1. 使用Acrobat Distiller打印激活worksheet or range生成postscript文件
2. 使用Acrobat Distiller API 将postscript转化成 .PDF 文件
首先,在VBA工程中引用Acrobat Distiller
然后,进行Acrobat Distiller的打印设置(必须,否则转化出错!)
将 Do not send fonts to "Adobe PDF" 选项钩选掉(不选)
代码:
Public Sub MakePDF(ByVal strPDFFileName As String)
' Define the postscript and .pdf file names.
Dim strPSFileName As String
Dim xlWorksheet As Worksheet
Dim objPdfDistiller As PdfDistiller
strPSFileName = Left(strPDFFileName, InStrRev(strPDFFileName, "/")) & "tmpPostScript.ps"
' Print the Excel ActiveSheet to the postscript file
Set xlWorksheet = ActiveSheet
Call xlWorksheet.PrintOut(copies:=1, preview:=False, ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True, prtofilename:=strPSFileName)
' Convert the postscript file to .pdf
Set objPdfDistiller = New PdfDistiller
Call objPdfDistiller.FileToPDF(strPSFileName, strPDFFileName, "")
' Finally, delete the postscript file
Call Kill(strPSFileName)
End Sub
程序调用的时候,需要修改Adobe PDF Settings的默认设置:
开始菜单 ⇒ 设定 ⇒ 打印机 ⇒ 选择Adobe PDF,右键选属性 ⇒ 选择"详细设定"选项卡 ⇒ 点击"标准设定"按钮 ⇒ 钩选掉"Do no send fonts to 'Adobe PDF'"
调用: Sub MakePDFApp() Call MakePDF("c:/firefox.pdf") End Sub 这样就能在指定位置生成指定的PDF文件了。
1. 使用Acrobat Distiller打印激活worksheet or range生成postscript文件
2. 使用Acrobat Distiller API 将postscript转化成 .PDF 文件
首先,在VBA工程中引用Acrobat Distiller
然后,进行Acrobat Distiller的打印设置(必须,否则转化出错!)
将 Do not send fonts to "Adobe PDF" 选项钩选掉(不选)
代码:
Public Sub MakePDF(ByVal strPDFFileName As String)
' Define the postscript and .pdf file names.
Dim strPSFileName As String
Dim xlWorksheet As Worksheet
Dim objPdfDistiller As PdfDistiller
strPSFileName = Left(strPDFFileName, InStrRev(strPDFFileName, "/")) & "tmpPostScript.ps"
' Print the Excel ActiveSheet to the postscript file
Set xlWorksheet = ActiveSheet
Call xlWorksheet.PrintOut(copies:=1, preview:=False, ActivePrinter:="Acrobat Distiller", printtofile:=True, collate:=True, prtofilename:=strPSFileName)
' Convert the postscript file to .pdf
Set objPdfDistiller = New PdfDistiller
Call objPdfDistiller.FileToPDF(strPSFileName, strPDFFileName, "")
' Finally, delete the postscript file
Call Kill(strPSFileName)
End Sub
程序调用的时候,需要修改Adobe PDF Settings的默认设置:
开始菜单 ⇒ 设定 ⇒ 打印机 ⇒ 选择Adobe PDF,右键选属性 ⇒ 选择"详细设定"选项卡 ⇒ 点击"标准设定"按钮 ⇒ 钩选掉"Do no send fonts to 'Adobe PDF'"
调用: Sub MakePDFApp() Call MakePDF("c:/firefox.pdf") End Sub 这样就能在指定位置生成指定的PDF文件了。
相关文章推荐
- 使用office生成PDF文件
- SpringMVC使用PDF模板生成PDF文件
- Django使用reportlab套件生成PDF文件
- ThinkPHP5/PHP 使用TCPDF 生成PDF文件
- iTEXT生成PDF文件使用方法 实例 示例 Servlet输出PDF文档方法
- Itext 生成 pdf文件使用方法:
- Java-pdf模板制作流程-使用pdf 模板生成pdf文件
- laravel 使用snappy生成pdf文件或生成图片
- 使用ITextSharp生成PDF文件心得
- SpringMVC使用PDF模板生成PDF文件
- phonegap教程使用jspdf库在应用中生成pdf文件(pdf生成方法)
- 使用word模板生成pdf文件
- 使用TCPDF撰写和生成PDF文件
- 使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例) - 目录
- PDF文件的读写(使用SDK).(二).编译生成免费的PoDoFo
- C#——使用iTextSharp生成pdf文件
- C#使用itextsharp生成PDF文件
- 滴水穿石--Java 生成PDF文件--iText使用之插入图片和中文乱码
- 使用itext组件生成PDF文件
- 【Java】maven工程使用iText生成PDF文件