Aspose.Words for .NET 下载地址 https://soft51.cc/software/175811283999782847
在 Aspose.Words for .NET 中,文档保存与格式转换是最常用的功能之一。无论是将文档导出为 PDF、HTML,还是批量进行格式转换,都需要熟悉 Save 方法 与 SaveOptions 配置。
Aspose.Words 支持将文档保存为 30+ 种格式,常见包括:
📌 示例:保存为多种格式
using Aspose.Words;
// 加载文档
Document doc = new Document("input.docx");
// 保存为不同格式
doc.Save("output.docx"); // Word
doc.Save("output.pdf"); // PDF
doc.Save("output.html"); // HTML
doc.Save("output.txt"); // TXT
doc.Save("output.odt"); // OpenDocument
在保存文档时,可以通过 SaveOptions 设置更细粒度的控制。
常见的 SaveOptions:
📌 示例:将文档保存为压缩 PDF
using Aspose.Words;
using Aspose.Words.Saving;
Document doc = new Document("input.docx");
PdfSaveOptions options = new PdfSaveOptions
{
Compliance = PdfCompliance.PdfA1b, // 符合 PDF/A-1b 标准
EmbedFullFonts = false, // 不嵌入完整字体
ImageCompression = PdfImageCompression.Jpeg,
JpegQuality = 80 // JPEG 压缩质量
};
doc.Save("output.pdf", options);
在 Web API 或云应用中,通常需要 直接输出字节流 而不是文件。
📌 示例:保存到内存流并转换为字节数组
using System.IO;
using Aspose.Words;
Document doc = new Document("input.docx");
using (MemoryStream ms = new MemoryStream())
{
doc.Save(ms, SaveFormat.Pdf);
byte[] pdfBytes = ms.ToArray();
// 可以直接返回给前端,或存入数据库
File.WriteAllBytes("FromMemory.pdf", pdfBytes);
}
批量格式转换可以方便地将多个文档统一转为指定格式。
📌 示例:批量将 DOCX 转换为 PDF
using Aspose.Words;
string[] files = Directory.GetFiles("docs", "*.docx");
foreach (string file in files)
{
Document doc = new Document(file);
string output = Path.ChangeExtension(file, ".pdf");
doc.Save(output);
Console.WriteLine($"已转换: {file} → {output}");
}
Aspose.Words 提供 IPageSavingCallback
与 SaveOptions.ProgressCallback
来监控保存进度,适合处理大文档或批量任务。
📌 示例:保存 PDF 时监控进度
using Aspose.Words;
using Aspose.Words.Saving;
using System;
class ProgressHandler : IProgressCallback
{
public void Notify(ProgressEventArgs args)
{
Console.WriteLine($"进度: {args.PercentComplete}% - {args.EventType}");
}
}
Document doc = new Document("input.docx");
PdfSaveOptions options = new PdfSaveOptions
{
ProgressCallback = new ProgressHandler()
};
doc.Save("progress.pdf", options);
在导出 PDF/HTML 等格式时,可以通过优化选项减少文件大小。
📌 示例:PDF 压缩与优化
using Aspose.Words;
using Aspose.Words.Saving;
Document doc = new Document("input.docx");
PdfSaveOptions options = new PdfSaveOptions
{
ImageCompression = PdfImageCompression.Jpeg, // 图片压缩
JpegQuality = 60, // JPEG 质量
EmbedFullFonts = false, // 不嵌入完整字体
OptimizeOutput = true // 优化输出
};
doc.Save("optimized.pdf", options);
Aspose.Words for .NET 下载地址 https://soft51.cc/software/175811283999782847