如何在 C# 中将 .docx 转换为 .pdf [关闭]

Posted

技术标签:

【中文标题】如何在 C# 中将 .docx 转换为 .pdf [关闭]【英文标题】:How to convert .docx to .pdf in C# [closed] 【发布时间】:2013-11-02 19:41:15 【问题描述】:

现在我们使用 OpenXML 从数据库中读取数据并生成文档。但最终要求是pdf。所以我想知道如何在 C# 中将 .docx 转换为 pdf。有人可以帮忙吗?或者提供一些信息。

【问题讨论】:

我使用 Aspose.Words 来做到这一点。它是一个纯 .NET 库,具有相当不错的渲染兼容性。办公自动化可能会工作,但速度很慢,但不能在完全自动化的环境中使用,因为它会弹出随机窗口要求输入。 我最喜欢的解决方案是生成一个 html 文件,让用户打印成他们喜欢的任何格式。优点 a) 无需特殊软件 b) 为您完成打印代码。显然,我们可以帮助满足我们的要求,但 HTML 建议通常会得到管理层的好评。 如果最终要求是 pdf 那么为什么要创建 docx 呢?你不能直接读取数据库值来创建 pdf 吗? 我使用 GemBox.Document 及其conversion 代码(加载+保存)。另外,关于从数据库生成文档,您可以检查mail merge 代码,它可以轻松完成此操作。 【参考方案1】:

您可以在此链接中查看解决方案:http://www.codeproject.com/Questions/346784/How-to-convert-word-document-to-pdf-in-Csharp

我建议首先在解决方案中使用它:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Office.Interop.Word;

public partial class Default2 : System.Web.UI.Page

    protected void Page_Load(object sender, EventArgs e)
    
        Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
        wordDocument = appWord.Documents.Open(@"D:\desktop\xxxxxx.docx");
        wordDocument.ExportAsFixedFormat(@"D:\desktop\DocTo.pdf", WdExportFormat.wdExportFormatPDF);
    

    public Microsoft.Office.Interop.Word.Document wordDocument  get; set; 

【讨论】:

运行良好,但需要安装 Word。 虽然这确实有效,但 Microsoft 不建议将它放在服务器上。同样正如 AFract 所说,它需要在需要额外许可的计算机上安装 MS Office。 我见过这种事情毁了生产服务器。由于内存泄漏和不同的线程模型,这通常不是一个好主意。

以上是关于如何在 C# 中将 .docx 转换为 .pdf [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

嗨,我正在寻找在 solaris 环境中将 docx 文件集转换为 pdf 的解决方案

在没有 Microsoft.Office.Interop 的 .NET Core 中将 Word doc 和 docx 格式转换为 PDF

在 C# 或 C++ 中将 ms word 文档转换为 svg

如何在 C# 中将 PDF 转换为图像? [复制]

如何在 c# 中的 iTextSharp pdf 中将位图显示为 jpeg 格式

如何解决利用aspose把word文档转换为pdf文档时出现乱码 C#