以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  word打印成pdf  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114155)

--  作者:newsun2k
--  发布时间:2018/1/30 12:59:00
--  word打印成pdf
怎么在系统中把word打印成pdf?
--  作者:cd_tdh
--  发布时间:2018/1/30 13:55:00
--  
http://www.foxtable.com/webhelp/scr/2931.htm
--  作者:有点甜
--  发布时间:2018/1/30 14:22:00
--  

1、如果是另存为pdf,如代码

 

Dim app As New MSWord.Application
try
    Dim fileName = "g:\\test.docx"
    Dim doc = app.Documents.Open(fileName)
    app.Documents(fileName).ExportAsFixedFormat("g:\\test.pdf", MSWord.WdExportFormat.wdExportFormatPDF)
    app.Quit
catch ex As exception
    msgbox(ex.message)
    app.Quit
End try

 

2、如果是【虚拟pdf打印机】,你应该自己安装一个打印机,然后打开word后打印。


--  作者:newsun2k
--  发布时间:2018/1/30 14:24:00
--  
我不是报表,而是随便一个word文件,也可以这样操作?
--  作者:有点甜
--  发布时间:2018/1/30 15:08:00
--  
参考3楼代码。
--  作者:newsun2k
--  发布时间:2018/1/30 15:38:00
--  
哦哦,谢谢,1里面可否指定页数,打印第几页到第几页??
--  作者:有点甜
--  发布时间:2018/1/30 15:43:00
--  

 

[此贴子已经被作者于2018/1/30 16:08:31编辑过]

--  作者:newsun2k
--  发布时间:2018/1/30 15:56:00
--  
那么word拆分,有什么办法呢?
word从第几页到第几页另存为一个文件?

--  作者:有点甜
--  发布时间:2018/1/30 16:08:00
--  

测试了一下,可以的, 如

 

 

Dim app As New MSWord.Application
try
    Dim fileName = "d:\\test.doc"
    Dim doc = app.Documents.Open(fileName)
    app.Documents(fileName).ExportAsFixedFormat(OutputFileName:="d:\\testpdf", ExportFormat:= MSWord.WdExportFormat.wdExportFormatPDF, OpenAfterExport:=False,Range:=MsWord.WdExportRange.wdExportFromTo, From:=2, To:=4, Item:= _
        msword.WdExportItem.wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=MsWord.WdExportCreateBookmarks.wdExportCreateNoBookmarks, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False)
    app.Quit
catch ex As exception
    msgbox(ex.message)
    app.Quit
End try


--  作者:newsun2k
--  发布时间:2018/1/30 16:15:00
--  
非常感谢