![](/img/trans.png)
[英]Convert Word doc and docx format to PDF in .NET Core without Microsoft.Office.Interop
[英]Convert Word doc to docx format in .NET Core using b2xtranslator library
我需要在服務器端使用 .net 核心將 .doc 和 .docx 文檔格式轉換為 pdf。 我已經搜索過了,結果發現這個問題對 for.docx 到 pdf 的問題有很好的回答。 它說你必須首先使用 OpenXMLPowerTools 將它轉換為 HTML 格式,然后從 HTML 轉換為 pdf。你可能會在答案中看到,有一個從 .doc 到 .docx 的轉換解決方案,並且使用b2xtranslator ,一個庫將 Microsoft Office 二進制文件轉換為 Open XML 格式文件。 我在這里缺少的是這個庫的用法。 我找不到任何示例如何使用它來轉換 .doc 文件,但只有這個問題的評論。
基於此,我嘗試使用該庫,但我遇到了死胡同。 這是我的代碼:
//check file extension
FileInfo file = new FileInfo(textBox1.Text);
if (file.Extension == ".doc")
{
FileStream streamDocFile = new FileStream(file.FullName, FileMode.Open);
var fileDoc = new b2xtranslator.DocFileFormat.WordDocument(new b2xtranslator.StructuredStorage.Reader.StructuredStorageReader(streamDocFile));
var fileDocx = b2xtranslator.OpenXmlLib.WordprocessingML.WordprocessingDocument.Create(file.Name + "x", b2xtranslator.OpenXmlLib.OpenXmlPackage.DocumentType.Document);
b2xtranslator.WordprocessingMLMapping.Converter.Convert(fileDoc, fileDocx);
}
我的問題是:
先感謝您。
最后,決定使用第 3 方庫進行文檔處理。 因為我們需要穩定的庫來處理文檔,而且我們完成項目的時間很短,所以我們公司決定購買第 3 方庫。
對於那些尋找免費方式來處理文檔的人來說,這個答案不是很有幫助。 祝你找到一個更好的。
謝謝
幾乎所有將 MS Word 處理器格式 (RTF WPS DOC DOCx) 轉換為 PDF 的方法都應該是直接的,例如 Adobe Word 插件或 MS 導出/保存為 PDF 等。
如果您需要使用 B2X.net interop(erability),請參閱using Microsoft.Office.Interop.Word;
仍有遺留依賴項需要考慮。 https://docs.microsoft.com/en-us/archive/blogs/interoperability/binary-to-open-xml-b2x-translator-interoperability-for-the-office-binary-file-formats可能是較舊的完整套件.net 和舊版 MS Office 的(我在 win 11 上安裝 old.net 的嘗試失敗)。
第二個最佳選擇是使用 Current Open Office,它應該直接將 Doc 轉換為 PDF 導出。 這是 B2X demo.doc,顯示在 LO Writer 7.4 中默認打開,默認導出為 PDF。
Libre-Office 具有良好的命令行轉換和“基本應用程序”/DDE 支持,因此您可以控制所需的任何調整。 對於當前命令行輸入輸出過濾器以及不同類型的 MS.doc 版本支持,請參閱https://help.libreoffice.org/7.4/en-US/text/shared/guide/convertfilters.html?&DbPAR=SHARED&System=WIN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.