LEADTOOLS ナレッジベース

[PDF Pro] マルチページPDFを分割できますか?

LEADTOOLSでは、ファイルの読み込みはRasterCodecs.Loadメソッド、ファイルの保存はRasterCodecs.Saveメソッドを使用します。

PDFに限らず、TIFFやGIFファイルなどのマルチページファイルを分割(シングルページで保存)するには、RasterCodecs.Saveメソッドで保存できます。

以下のサンプルは、PDFファイルをページごとに読み込んで、JPEGファイルとして保存する例です。

サンプルコード(VB.NET)

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

    ' RasterCodecsオブジェクトを初期化します。
    Dim codecs As New RasterCodecs()

    ' 生成される画像のビット数を設定します。
    codecs.Options.Pdf.Load.DisplayDepth = 24
    ' 使用するグラフィックアンチエイリアスのタイプを設定します。
    codecs.Options.Pdf.Load.GraphicsAlpha = 4
    ' 使用するフォントアンチエイリアスのタイプを設定します。
    codecs.Options.Pdf.Load.TextAlpha = 4
    ' ライブラリインストールフォントを使用するかどうかを指定します。
    codecs.Options.Pdf.Load.UseLibFonts = True

    ' 水平および垂直方向の表示解像度(DPI)を設定します。
    codecs.Options.RasterizeDocument.Load.XResolution = 150
    codecs.Options.RasterizeDocument.Load.YResolution = 150


    ' ロードするPDFファイル
    Dim fileName As String = "..\Images\test.pdf"

    ' ファイルに含まれているページ数を調べます。
    Dim info As CodecsImageInfo = codecs.GetInformation(fileName, True)

    ' ページごとにロードして保存します。
    Dim pageNumber As Integer
    For pageNumber = 1 To info.TotalPages
        ' 画像をロードします。
        Dim image As RasterImage = codecs.Load(fileName, 0, CodecsLoadByteOrder.BgrOrGray, pageNumber, pageNumber)

        ' ロードしたページをJPEGで保存します。
        Dim pageFileName As String = System.IO.Path.Combine("..\Images\result", pageNumber.ToString() + ".jpg")
        codecs.Save(image, pageFileName, RasterImageFormat.Jpeg, 24)
    Next

    MessageBox.Show("保存完了")

End Sub

サンプルコード(C#)

private void button1_Click(object sender, EventArgs e)
{
    // RasterCodecsオブジェクトを初期化します。
    RasterCodecs codecs = new RasterCodecs();

    // 生成される画像のビット数を設定します。
    codecs.Options.Pdf.Load.DisplayDepth = 24;
    // 使用するグラフィックアンチエイリアスのタイプを設定します。
    codecs.Options.Pdf.Load.GraphicsAlpha = 4;
    // 使用するフォントアンチエイリアスのタイプを設定します。
    codecs.Options.Pdf.Load.TextAlpha = 4;
    // ライブラリインストールフォントを使用するかどうかを指定します。
    codecs.Options.Pdf.Load.UseLibFonts = true;

    // 水平および垂直方向の表示解像度(DPI)を設定します。
    codecs.Options.RasterizeDocument.Load.XResolution = 150;
    codecs.Options.RasterizeDocument.Load.YResolution = 150;

    // ロードするPDFファイル
    string fileName = @"..\Images\test.pdf";

    // ファイルに含まれているページ数を調べます。
    CodecsImageInfo info = codecs.GetInformation(fileName, true);

    // ページごとにロードして保存します。
    int pageNumber;
    for (pageNumber = 1; pageNumber <= info.TotalPages; pageNumber++)
    {
        // 画像をロードします。
        RasterImage image = codecs.Load(fileName, 0, CodecsLoadByteOrder.BgrOrGray, pageNumber, pageNumber);
        // ロードしたページをJPEGで保存します。
        string pageFileName = System.IO.Path.Combine(@"..\Images\result", pageNumber.ToString() + ".jpg");
        codecs.Save(image, pageFileName, RasterImageFormat.Jpeg, 24);
    }

    MessageBox.Show("保存完了");
}

 

関連情報

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています

0 コメント

記事コメントは受け付けていません。