簡體   English   中英

在 .NET Core 中使用 b2xtranslator 庫將 Word doc 轉換為 docx 格式

[英]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);
}

我的問題是:

  1. .docx文件怎么寫? 我不知道代碼是否正確,因為我對如何將它(fileDocx 對象)寫入文件並進行檢查感到困惑。
  2. 如何將生成 b2xtranslator 的 .docx 傳遞給Open-XML-PowerTools ,以便我可以將其轉換為 HTML 格式?

先感謝您。

最后,決定使用第 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM