如何在 .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 提示: 将压缩工作流自动化为夜间/每周的集合工作,并监控任何因错误或腐败而丢失或失败的文件的日志。