電子文書の交換、アーカイブ、印刷などの特定のターゲットのニーズに合わせてPDF文書を最適化・圧縮します。
PDFの作成プロセスでは特定の対象アプリケーション向けに最適化されていないPDFが生成されることが少なくありません。
ファイル サイズが大きいくダウンロードに時間が必要な場合や、同じフォントが複数回埋め込まれている場合などは印刷に時間を要する場合があります。
Pdftools SDK を使用すると、さまざまな構成オプションを使用して特定の用途に見合った出力を作成できます。
この機能は、冗長情報や代替情報の削除、フォントのサブセット化と合成、画像のダウンサンプリングなどを実行し、ページ内容や文書構造を圧縮・最適化します。
APIリファレンスはこちらです。(すべて英文)
一般に画像はファイルサイズを大幅に増加させることがあります。Pdftools SDK は画像オブジェクトを最適化し、画像タイプによる画像圧縮の設定、圧縮アルゴリズムと圧縮品質の選択、カラー プロファイルやカラー チャネルなどのカラー管理オプションの設定などによって画像オブジェクトの一部または全体の変換や削除をします。
圧縮処理
画像オブジェクトの処理
カラー・マネージメント
PDF ドキュメントを追加しない場合はPDFにフォントを埋め込む必要はありません。
既存のフォントプログラムをサブセット化してドキュメントの再現に必要のない未使用のグリフをすべて削除できます。
標準フォントの削除や、フォントとフォントプログラムを結合するタイミングを決定できます。
不要なオブジェクトは理由もなくファイル サイズを大きくします。
これらの未使用、冗長、不要なオブジェクトを削除してファイル サイズを縮小し、レンダリングを高速化できます。
C#のサンプルプロジェクトではPdftools SDKライブラリ(DLL)をNuGetから自動でダウンロードします。
CのサンプルプロジェクトにはPdftools SDKライブラリ(DLL)が含まれています。
ライセンスキー無し(無償)で試用できます。ただし、結果に「透かし」が入ります。
「透かし」の削除をご希望の場合は問い合わせページまたはメールでお問い合わせください。
License Agreement(利用許諾契約書)が含まれていますので必ず確認してください。
"Web"最適化プロファイルを使用してPDF文書を最適化します。
- // 入力PDFファイルを開く
- pInStream = _tfopen(szInPath, _T("rb"));
- GOTO_CLEANUP_IF_NULL_PRINT_ERROR(pInStream, _T("Failed to open the input file \"%s\" for reading.\n"), szInPath);
- TPdfToolsSys_StreamDescriptor inDesc;
- PdfToolsSysCreateFILEStreamDescriptor(&inDesc, pInStream, 0);
- pInDoc = PdfToolsPdf_Document_Open(&inDesc, _T(""));
- GOTO_CLEANUP_IF_NULL_PRINT_ERROR(
- pInDoc, _T("Failed to create a document from the input file \"%s\". %s (ErrorCode: 0x%08x).\n"), szInPath,
- szErrorBuff, PdfTools_GetLastError());
- // 書き込み用の出力ストリームを生成
- pOutStream = _tfopen(szOutPath, _T("wb+"));
- GOTO_CLEANUP_IF_NULL_PRINT_ERROR(pOutStream, _T("Failed to open the output file \"%s\" for writing.\n"), szOutPath);
- TPdfToolsSys_StreamDescriptor outDesc;
- PdfToolsSysCreateFILEStreamDescriptor(&outDesc, pOutStream, 0);
- // 最適化パラメータを定義するプロファイルを生成
- // Webプロファイルは、電子文書交換用に文書を最適化するのに適しています。
- pProfile = (TPdfToolsOptimizationProfiles_Profile*)PdfToolsOptimizationProfiles_Web_New();
- // オプション:最適化プロセスの要件に応じてプロファイルのパラメータを変更できます。
- // PDF文書を最適化
- pOptimizer = PdfToolsOptimization_Optimizer_New();
- pOutDoc = PdfToolsOptimization_Optimizer_OptimizeDocument(pOptimizer, pInDoc, &outDesc, pProfile, NULL);
- GOTO_CLEANUP_IF_NULL_PRINT_ERROR(pOutDoc, _T("The processing has failed. (ErrorCode: 0x%08x).\n"),
- PdfTools_GetLastError());
- private static void Optimize(string inPath, string outPath)
- {
- // 入力PDFファイルを開く
- using var inStr = File.OpenRead(inPath);
- using var inDoc = Document.Open(inStr);
- // 最適化パラメータを定義するプロファイルを生成
- // Webプロファイルは、電子文書交換用に文書を最適化するのに適しています。
- var profile = new Profiles.Web();
- // オプション:最適化プロセスの要件に応じてプロファイルのパラメータを変更できます。
- // 出力ストリームを生成
- using var outStr = File.Create(outPath);
- // PDF文書を最適化
- using var outDoc = new Optimizer().OptimizeDocument(inDoc, outStr, profile);
- }
質問のページからお送りいただくようお願いします。
または、メールでsupport@trustss.co.jpあてにお送りください。
ご購入前の技術的質問も無償で対応します。サポート受付ページからお願いします。