如何在 .NET 中自动存储Batch PDF 压缩

如何在 .NET 中自动存储Batch PDF 压缩

处理成千上万的大PDF是IT、法律和企业运营的重大挑战. .NET 的 Aspose.PDF.Optimizer Plugin 允许您在整个存储库中自动压缩,减少存档、数字交付或电子邮件附件的文件大小。

Batch Job Setup: 准备你的压缩管道

  • ** 组织输入文件:** 将所有目标 PDF 集成到指定输出文件夹中(例如, /Documents/ToCompress).
  • ** 设计输出文件夹:** 为压缩的 PDF 设置输出的目录(例如, /Documents/Compressed).
  • 启动 Optimizer 插件: 使用 Aspose.PDF.Plugin API 设置您的集合过程。

文件输入/输出:操作中的压缩

using Aspose.Pdf.Plugins;
using System.IO;

string inputDir = @"C:\Documents\ToCompress";
string outputDir = @"C:\Documents\Compressed";
Directory.CreateDirectory(outputDir);

string[] pdfFiles = Directory.GetFiles(inputDir, "*.pdf");
int processed = 0;

foreach (var pdfFile in pdfFiles)
{
    string fileName = Path.GetFileName(pdfFile);
    string outputFile = Path.Combine(outputDir, fileName);

    var optimizer = new Optimizer();
    var options = new OptimizeOptions();
    options.AddInput(new FileDataSource(pdfFile));
    options.AddOutput(new FileDataSource(outputFile));

    optimizer.Process(options);
    processed++;
    Console.WriteLine($"Compressed: {fileName}");
}

Console.WriteLine($"Total PDFs compressed: {processed}");

登录和报告

  • 记录每个输入和输出文件可追踪(CSV、数据库或简单的文本记录)
  • 捕捉压缩统计(原始尺寸 vs. 压縮大小)
  • 报告错误或错过的文件进行审查

** 示例登录:**

long originalSize = new FileInfo(pdfFile).Length;
long compressedSize = new FileInfo(outputFile).Length;
Console.WriteLine($"{fileName},Original: {originalSize},Compressed: {compressedSize}");

先进提示

  • ** 与合并:** 压缩个别的 PDF,然后将合成一个单一的文件,使用合成的插件,以便更容易分配。
  • ** 自动电子邮件:** 将工作流集成到发送电子信中,以便 PDF 被压缩,然后将其作为附件。
  • ** 优化仅更改的文件:** 使用时间标记仅为新或更新的压缩文件。

用例

  • 大规模法律发现/文件制作
  • 企业文件保留/存档
  • 航行、人力资源或数字签名管道的IT工作流

经常提出的问题

**Q:是否有限制在一个包中可以处理多少PDF文件?**A: 没有硬限制 - Aspose.PDF.Plugin 可以处理成千上万的文件. 对于非常大的工作,将输入分为可管理的组件,以避免记忆或时间提取问题。

**Q:我可以在一个工作流中压缩和合并PDF吗?**答:是的! 首先压缩 PDF,然后使用 Merger 插件将其结合成一个单一的优化文件。

Q:什么类型的压缩进行?**答:图像下载,甲数据清洁,字体优化等,支持插件的选项。

Pro 提示: 将压缩工作流自动化为夜间/每周的集合工作,并监控任何因错误或腐败而丢失或失败的文件的日志。

 中文