如何在 C# 中将 word 文档的字节数组转换为 pdf 文档的字节数组

本文关键字:字节 字节数 数组 文档 转换 pdf 中将 word | 更新日期: 2023-09-27 18:37:26

>我有一个字节序列,如下所示(Word格式)从水晶报告导出

 Stream stream = cryRpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.WordForWindows);

我想将该流转换为PDF流,以存储在sql服务器数据库的varbinary列中。

文档中有一个条形码,当我导出为 pdf 时,我无法嵌入它。导出到word有效,所以我想尝试从Word到PDF任何人都可以帮助我获取此 PDF 字节[]?

如何在 C# 中将 word 文档的字节数组转换为 pdf 文档的字节数组

您可以使用

Microsoft.Office.Interop.Word NuGet Package执行此操作。将其添加到应用程序后,您可以将字节数组刷新到临时文件,然后使用 Interop.Word 打开临时文件,使用它,保存结果并将结果读回字节数组。

下面是一个执行此操作的示例代码片段:

// byte[] fileBytes = getFileBytesFromDB();
var tmpFile = Path.GetTempFileName();
File.WriteAllBytes(tmpFile, fileBytes);
Application app = new word.Application();
Document doc = app.Documents.Open(filePath);
// Save DOCX into a PDF
var pdfPath = "path-to-pdf-file.pdf";
doc.SaveAs2(pdfPath, word.WdSaveFormat.wdFormatPDF);
doc.Close();
app.Quit(); // VERY IMPORTANT: do this to close the MS Word instance
byte[] pdfFileBytes = File.ReadAllBytes(pdfPath);
File.Delete(tmpFile);

有关该主题的更多信息,您还可以在我的博客上阅读这篇文章。