XPS 到 DOCX C#

XPSDOCX 是两种不同的文件格式,专为不同目的而设计。 XPS 是 Microsoft 创建的一种电子纸格式,主要用于共享和保持文档保真度。另一方面,DOCX 是 Microsoft Word 的默认文件格式,包含文本格式、图像等多种功能。在某些情况下,您可能需要将 XPS 转换为 DOCX 文档格式。因此,这篇博文介绍了如何使用 C# 将 XPS 转换为 DOCX Word 文档。

为什么将 XPS 转换为 DOCX 格式?

尽管 XPS 和 DOCX 都有优点,但有时将 XPS 转换为 DOCX 变得至关重要。兼容性问题、协作项目或对高级格式化功能的需求通常会推动这种转换的必要性。以下是 XPS 到 Word DOCX 转换的一些好处:

改进的可搜索性:DOCX 文件提供高级搜索和索引功能,允许用户快速找到文档中的特定内容。这对于大型文档或档案尤其有利,可以简化信息检索并节省宝贵的时间。

辅助功能:辅助功能是文档创建的一个重要方面。 Word DOCX 文件支持广泛的辅助功能,例如图像的替代文本和高级文档结构。将 XPS 文件转换为 DOCX 可确保您的文档符合辅助功能标准,使其更具包容性和用户友好性。

可编辑性和格式保留:与 XPS 文件相比,Word DOCX 文件提供高级编辑功能。通过将 XPS 转换为 DOCX,用户可以访问大量格式选项,从而更轻松地编辑和自定义文档。此转换可确保保留字体、布局和样式元素,从而保持原始文档的完整性。

增强的兼容性:XPS 文件虽然广泛使用,但可能会面临跨各种平台的兼容性问题。将它们转换为普遍接受的 DOCX 格式可确保与流行的文字处理软件(如 Microsoft Word、Google Docs 等)无缝集成。

在 C# 中将 XPS 转换为 Word DOCX

要在 C# 中将 XPS 转换为 DOCX,您需要按照以下步骤操作:

  • 在您端安装 Conholdate.Total for .NET
  • 使用 Stream 类初始化 XPS 输入流和 PDF 输出流。
  • 使用 XpsDocument 类加载 XPS 文件。
  • 使用必要的参数初始化 PdfSaveOptions 对象。
  • 使用 PdfDevice 类创建渲染设备。
  • 使用 Document 类保存并加载中间 PDF 文件。
  • 使用“保存"方法将 XPS 转换为 Word DOCX 文档。

下面的示例代码演示了如何使用 C# 将 XPS 转换为 DOCX:

// 初始化 PDF 输出流
using (System.IO.Stream pdfStream = System.IO.File.Open(dataDir + "XPStoDOCX.pdf", System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write))
{

    // 初始化XPS输入流
    System.IO.Stream xpsStream = System.IO.File.Open(dataDir + "sample.xps", System.IO.FileMode.Open);

    // 加载输入XPS文档
    Aspose.Page.XPS.XpsDocument document = new Aspose.Page.XPS.XpsDocument(xpsStream, new Aspose.Page.XPS.XpsLoadOptions());

    // 使用必要的参数初始化选项对象
    Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions options = new Aspose.Page.XPS.Presentation.Pdf.PdfSaveOptions()
    {
        JpegQualityLevel = 100,
        ImageCompression = Aspose.Page.XPS.Presentation.Pdf.PdfImageCompression.Jpeg,
    };
    // 创建PDF格式的渲染设备
    Aspose.Page.XPS.Presentation.Pdf.PdfDevice device = new Aspose.Page.XPS.Presentation.Pdf.PdfDevice(pdfStream);

    // 保存输出 PDF 文件
    document.Save(device, options);
}
// 加载中间 PDF 文件
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(dataDir + "XPStoDOCX.pdf");

// 保存输出 DOCX 文件
pdfDocument.Save(dataDir + "XPStoDOCX.docx", Aspose.Pdf.SaveFormat.DocX);

免费评估许可证

您可以通过请求免费临时许可证来不受任何限制地测试 API 的任何功能。

加起来

在 C# 中将 XPS 转换为 DOCX 打开了一个充满可能性的世界,让您可以轻松地弥合不同文件格式之间的差距。本博文中概述的过程提供了一种简单的解决方案,可根据您的要求将 XPS 转换为 DOC 或 DOCX 文件格式的 Word 文档。此外,如果您想讨论任何疑虑,请随时通过论坛与我们联系。

常见问题解答

我可以使用 C# 将具有复杂格式的 XPS 文件转换为 DOCX 吗?

是的,您可以使用各种格式元素(包括文本、图像、表格等)转换 XPS 文件。

如何处理 C# 转换过程中的错误?

确保您的代码包含适当的 try-catch 块,以优雅地处理异常,并在出现错误时向用户提供有意义的反馈。

在 C# 中将大型 XPS 文件转换为 DOCX 时是否有性能考虑?

是的,性能可能会根据 XPS 文件的大小和复杂性而有所不同。建议使用不同的文件类型和大小测试转换过程,以确保最佳的性能和资源管理。

也可以看看