将.doc文件转换为.pdf [关闭]


11

是否有人知道可以为我将MS Office .doc转换为.pdf的软件?

我已经尝试过OpenOffice,但是它对于大型文档来说似乎很慢并且非常耗资源。


Answers:




5

如果您想以编程方式进行此操作,并且您是.NET或Java程序员,则可以将Aspose.WordsAspose.PDF结合使用。

对我来说效果很好。

编辑:看来,使用最新版本,您只需要许可Aspose Words。


3
如今,Aspose.Words可以单独将Microsoft Word文档转换为PDF,而无需使用Aspose.Pdf。您只需要一种产品,它的工作原理就会更加精确。

1
作为使用Aspose套件的开发人员,我发现它的设计不佳,是编写代码的真正痛点。我永远不会向任何人推荐该产品。
BBlake 2010年

1
@BBlake:也可以使用它(用于Excel),也不要给它留下深刻的印象。







2

没有人提到带有内置PDF保存支持的openoffice吗?


内置且出色(例如产生可点击的交叉引用,例如目录)。
Arjan

那兄弟阿们!
alpha1

1

如果您想以编程方式执行此操作,请在此处查看我的回复:

将DOC转换为PDF-/programming/218556/send-document-to-printer-with-c#221818

这是我目前使用的代码,效果很好。它将处理Word将打开的所有内容,例如.doc,.docx,.rtf等。

另外,如果您要转换的文件很多,则可以编写代码,以使Word在后台打开一次,然后随后打开,转换和关闭文件,运行速度非常快,即使转换时也没有崩溃等问题。一次处理数千个文件。





1

过去,我尝试过不同的方法。但是现在我对Microsoft Office Word 2007和SaveAsPDF-Addin很好。我已经将“另存为pdf”过程记录为宏,并对其进行了一些改进。这是我当前的版本:


Sub UpdateAndPDF()
' Update page header

    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.WholeStory
    Selection.Fields.Update
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

' Update document (like F9)

    Selection.WholeStory
    Selection.Fields.Update
    WordBasic.AcceptAllChangesInDoc

' create PDF

    PDFFilename = (Replace(ActiveDocument.FullName, ".doc", ".pdf"))
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        PDFFilename _
        , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
        Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateHeadingBookmarks, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False

' Close Word

    ActiveDocument.Save
    Application.Quit
End Sub

使用word的宏选项,我可以在命令行中将此宏用于自动化目的。例如

"c:\Program Files\Microsoft Office\Office12\WINWORD.EXE" wordfile.doc /mUpdateAndPDF 

如果要将其用于批处理文件中的多个文档,则可以尝试以下操作:


@echo off
SET WORD="c:\Program Files\Microsoft Office\Office12\WINWORD.EXE"
FOR %%f in (*.doc) do %WORD% %%f /mUpdateAndPDF


0

如果您只是偶尔这样做,则可以使用Zamzar.com进行各种转换。

TRiG。


0

我对这个市场进行了广泛的研究,Aspose.Words值得考虑。它做得很好,并且是100%.net,但是如果您追求完美的保真度(假定不渲染脚注,有限的文本流和浮动对象),那么您唯一的选择就是直接自动化Office,这很痛苦。在服务器上运行,或者使用为您完成所有艰苦工作的产品,例如在服务器上运行的Muhimbi PDF Conversion Service,并且可以使用网络服务调用该产品

完全公开,我为Muhimbi工作(这就是为什么我如此广泛地研究市场的原因)。


0

上面已经提到了Aspose.Words。我只想添加最新信息。

现在,Aspose.Words本身可以转换为PDF(您以前需要Aspose.Words + Aspose.Pdf)。使用一种成分要好于两种。

使用Aspose.Words可获得的好处之一是,不仅可以在PDF中获得相同外观的文档,而且在XPS中还可以将页面呈现为图像甚至打印文档。

我在Aspose.Words团队中。


您能告诉我文档在何处说明此内容或如何使用试用版dll吗?我似乎找不到。当前的doco表示您需要word和pdf。如果是这种情况,我非常考虑使用ASPOSE.Words。

这是在“程序员指南”的基本主题aspose.com/documentation/.net-components/... 还有Document.SaveToPdf方法有几个重载aspose.com/documentation/.net-components/...

0

在过去的几年中,我还没有研究内置的PDF功能,但是您可以使用办公自动化来打印到PostScript打印机驱动程序,该驱动程序可以设置为打印机。这将创建一个PostScript(PS)文件,可以使用GhostScript将其转换为PDF。




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.