Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PDFをTIFFに変換

JPedalは、PDFファイルまたはPDFファイルのディレクトリをTIFFにラスタライズするための複数のメソッドを提供しています。Javaの例では、ConvertPagesToImages クラスとTiffEncoderOptions クラスを使用します。

コマンドラインまたは他の言語からPDFをTIFFに変換

全ページを画像としてレンダリング

java -jar jpedal.jar --convert "inputFileOrFolder" "outputFolder" tiff

変換を調整するために、異なる設定を指定することもできます。

java -jar jpedal.jar --convert "inputFileOrFolder" "outputFolder" tiff ScalingAsFloat 
java -jar jpedal.jar --convert "inputFileOrFolder" "outputFolder" tiff ScalingAsFloat PageRange

名前付き変数の使用方法は以下で詳しく説明されています。

  • ScalingAsFloat: 出力に適用されるスケーリングを指定する浮動小数点値。これはビュースケーリングを100で割った値で、例えば150%は1.5になります
  • PageRange: 変換するページの範囲。これはSetOfIntegerSyntax と同じルールに従います。
    これはカンマ区切りの値のシリーズで、単一のページ番号またはダッシュを使用した2つの値の範囲のいずれかです。例えば、“1,3,4-7"はページ1,3,4,5,6,7を指定します

出力をより詳細に制御するために、JVMフラグ を追加することもできます。これには以下が含まれます。

これらのプロパティはすべて、次の2つの方法のいずれかで使用できます。

  1. コード内でシステムプロパティを設定
    例:
System.setProperty("org.jpedal.multipage_tiff", "true");
  1. コマンドラインに次のプロパティを追加
    例:
 java -Dorg.jpedal.multipage_tiff=true -jar jpedal.jar --convert "inputFileOrFolder" "outputFolder"   

Javaで便利な静的メソッドを使用してPDFをTIFFに変換

ConvertPagesToImages.writeAllPagesAsImagesToDir(
        "inputFileOrFolder",
        "outputFolder",
        "tiff",
        1.33f);

Javaで画像出力を制御してPDFをTIFFに変換

ConvertPagesToImages convert = new ConvertPagesToImages("inputFile.pdf");
try {
    if (convert.openPDFFile()) {
        for(int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("outputFolder" + page + ".tiff");
            // 出力を制御するためのセッター(圧縮の例)
            final TiffEncoderOptions options = new TiffEncoderOptions();
            options.setCompressionFormat(TiffCompressionFormat.DEFLATE);
            options.setResolutionUnit(TiffResolutionUnit.INCH);
            options.setXResolution(300);
            options.setYResolution(300);
            JDeli.write(bi, options, out);
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

Javaで出力のページ範囲を制御してPDFをTIFFに変換

ConvertPagesToImages convert = new ConvertPagesToImages("inputFile.pdf");
// setPageRangeを使用すると、範囲には'-'または':'を使用し、
// ','で次の範囲に移動するか、全ページの場合は単にnullを指定できます
convert.setPageRange(new PageRanges("1-5,8:10,15")); 
// 上記はページ1から5(両端を含む)、8から10(両端を含む)、および15を取得します
try {
    if (convert.openPDFFile()) {
        convert.getPageRange().forEachRemaining(page -> {
            try {
                final BufferedImage bi = convert.getPageAsImage(page);
                final File out = new File("outputFolder" + page + ".tiff");
                JDeli.write(bi, options, out);  
            } catch (Exception e) {
                e.printStackTrace();
            }
       });  
    }
} catch (PdfException e) {
    e.printStackTrace();
}                  

convert.closePDFfile();

Javaで出力画像の寸法を制御してPDFをTIFFサムネイルに変換

ConvertPagesToImages.writeAllPagesAsImagesToDir(
        "inputFileOrFolder",
        "outputFolder",
        "tiff",
        new int[] {width, height});

または

ConvertPagesToImages convert = new ConvertPagesToImages("inputFile.pdf");
//アスペクト比を保持してフィット(幅が300または高さが400になります)
convert.setFitToSize(new int[] {300,400}); 
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("outputFolder" + page + ".tiff");
            JDeli.write(bi, OutputFormat.TIFF, out);           
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

Javaでスケーリングを制御してPDFをTIFFサムネイルに変換

ConvertPagesToImages convert = new ConvertPagesToImages("inputFile.pdf");
convert.setPageScaling(1.33f); //Acrobatの100%と同じサイズになります
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("outputFolder" + page + ".tiff");
            JDeli.write(bi, OutputFormat.TIFF, out);           
        }
    }
} catch (PdfException | IOException e) {
    e.printStackTrace();
}  catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

Javaでパスワード保護されたPDFファイルをTIFFに変換

ConvertPagesToImages convert = new ConvertPagesToImages("inputFile.pdf");
convert.setPassword("password"); 
try {
    if (convert.openPDFFile()) {
        for (int page = 1; page <= convert.getPageCount(); page++) {
            final BufferedImage bi = convert.getPageAsImage(page);
            final File out = new File("outputFolder" + page + ".tiff");
            JDeli.write(bi, OutputFormat.TIFF, out); 
        }
    }
} catch (PdfException | IOException e) { 
    e.printStackTrace(); 
}  catch (Exception e) {
    e.printStackTrace();
}

convert.closePDFfile();

アップスケーリングやPDFからTIFFへの変換のより複雑な制御をお探しの場合は、ConvertPagesToHiResImages クラスに多くの追加オプション があります