NET で PDF のバッチ分割を自動化する方法
NET で PDF のバッチ分割を自動化する方法
大規模管理 PDF .NET のための Aspose.PDF.Plugin Splitter を使用すると、数百または数千の PDF を個々のページまたはカスタマイズされた範囲にプログラム的に分割することができます - デジタルアーカイブ、電子発見、またはワークフローの自動化に最適です.
バッチスクリプション:すべてのPDFをフォルダーに分割する
using Aspose.Pdf.Plugins;
using System.IO;
string inputFolder = @"C:\Archive\PDFs";
string outputFolder = @"C:\Archive\Split";
Directory.CreateDirectory(outputFolder);
string[] pdfFiles = Directory.GetFiles(inputFolder, "*.pdf");
foreach (var pdfFile in pdfFiles)
{
string baseName = Path.GetFileNameWithoutExtension(pdfFile);
// Example: Determine page count (using Aspose.PDF.Document, or plugin API if available)
int pageCount = /* Get page count for pdfFile */;
var splitter = new Splitter();
var splitOptions = new SplitOptions();
splitOptions.AddInput(new FileDataSource(pdfFile));
for (int i = 1; i <= pageCount; i++)
{
string outPath = Path.Combine(outputFolder, $"{baseName}_Page_{i}.pdf");
splitOptions.AddOutput(new FileDataSource(outPath));
}
splitter.Process(splitOptions);
Console.WriteLine($"Split {pdfFile} into {pageCount} pages.");
}パフォーマンス&自動化のヒント
- バッチサイズ: ハードコード制限はありません - プロセス 100s または 1000s ファイルですが、メモリと I/O 安定性のために合理的なフォルダーサイズ(例えば、500-1000 バッグ)を使用します.
- パラレル: より速いパスポートのために、モダンなハードウェア(ディスク/CPUボトルのテスト)で複数のトレーディングまたはアシンクタスクを使用します).
- ファイル名: 明確な組織および追跡性のために、ベース名とページまたはセクション番号を使用します.
- ログ: 処理されたファイル/ページごとにログを書く - エラー回復および監査に役立ちます.
ユースケース
- デジタルアーカイブ:より簡単なインデックスのためのスキャンされたドキュメントバッチを分割する
- 電子発見:法的審査のための関連するページの大規模抽出
- Enterprise IT: 関連するページをチームや顧客にのみ配布する
よくある質問
**Q:バッチサイズまたはファイル数制限はありますか?**A: いいえ - プラグインは非常に大きなバッチを処理します. 極端なケースでは、サブフォーダーにインポートを破るか、複数のバチワークを実行します.
**Q:分割ファイルのカスタム名称を自動化するにはどうすればよいですか?**A: オリジナルのPDFのベース名とサフィックスを使用する (_Page_#, 上記の例のように、あるいはセクション名.
**Q:暗号化またはパスワード保護のPDFを分割できますか?**A: はい - 必要に応じてプラグインオプションのパスワードを提供します.
Pro ヒント: ストレージの節約のためのバッチで分割と最適化を組み合わせるか、必要に応じて分散出力を再合併するMerger プラグインを使用します.