C#がPDFドキュメントを圧縮する
PDFドキュメントは、私たちの日常のオフィスでよく使用されている文書で、PDFドキュメントが多くて、転送と送信には不利です。この文章は、C#を使用することによって、C#を使用するために、PDFファイルを圧縮したPDFファイルをどのように使用するかを紹介します。
Spire.PDFには、主に2つの圧縮方式があります。1つは圧縮ファイルの内容を圧縮して、もう一つは圧縮ファイルの中の画像で、その中の圧縮画像はまた画像の品質と直接圧縮の2つの異なる方法に分けられます。注意しなければならないのは、異なる文書の圧縮効果については、主にpdfの内容自体が比較的大きいのか、ドキュメントには文字が多いか、画像の多い効果が異なるのか、自分の文書によって相応する圧縮方式を選択することができます。
以下のコードを使用する前に必要:
- ダウンロードSpire.PDF,また、インストール経路からSpire.pdf.dllをアプリケーションに引用する
- 名のスペースを引用する:
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Exporting;
using Spire.Pdf.Graphics;
圧縮内容
// PDFドキュメントをロードする
PdfDocument doc = new PdfDocument("Test.pdf");
//禁用incremental update
doc.FileInfo.IncrementalUpdate = false;
// PDFドキュメントの圧縮レベルを設定
doc.CompressionLevel = PdfCompressionLevel.Best;
//ファイルを保存する
doc.SaveToFile("Compressed.pdf");
画像を圧縮する
方法1:画像の品質を低減する
// PDFドキュメントをロードする
PdfDocument doc = new PdfDocument("Image.pdf");
//禁用incremental update
doc.FileInfo.IncrementalUpdate = false;
//すべてのページについて
foreach (PdfPageBase page in doc.Pages)
{
//ページの画像を抽出する
Image[] images = page.ExtractImages();
if (images != null && images.Length > 0)
{
//すべての画像を遍歴する
for (int j = 0; j < images.Length; j++)
{
Image image = images[j];
PdfBitmap bp = new PdfBitmap(image);
//画像の品質を下げる
bp.Quality = 20;
//圧縮後の画像で元ドキュメント中の画像を入れ替える
page.ReplaceImage(j, bp);
}
}
}
//ファイルを保存する
doc.SaveToFile("Output.pdf");
方法2:画像を直接圧縮する
// PDFドキュメントをロードする
PdfDocument doc = new PdfDocument("Image.pdf");
//禁用incremental update
doc.FileInfo.IncrementalUpdate = false;
// PDFページ
foreach (PdfPageBase page in doc.Pages)
{
if (page != null)
{
if (page.ImagesInfo != null)
{
foreach (PdfImageInfo info in page.ImagesInfo)
{
//画像を圧縮する
page.TryCompressImage(info.Index);
}
}
}
}
//ファイルを保存する
doc.SaveToFile("Output1.pdf");
Author And Source
この問題について(C#がPDFドキュメントを圧縮する), 我々は、より多くの情報をここで見つけました https://qiita.com/iceblue/items/06c4acdafb2458822f67著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .