0

PDFファイル(入力として提供)の最初のページから画像を作成するユーティリティを設計しています。このコードは、jpedalライブラリを使用して png 画像を作成します。

以下は私のコードです。

import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import org.jpedal.PdfDecoder;


public abstract class PDFUtil 
{
    private static final String IMAGE_FORMAT = "png";

    //My Function
    public static BufferedImage getImageForPdfData(File file, int pageNumber) throws Exception
    {   
        PdfDecoder decoder;

        decoder = new PdfDecoder();
        decoder.openPdfFile(file.getPath());
        return decoder.getPageAsImage(pageNumber);  //Error is here..   
    }


    public static void main(String[] args) throws Exception {

        File f = new File("C:/Documents and Settings/shashank.kadne/Desktop/Test.pdf");
        BufferedImage bi = PDFUtil.getImageForPdfData(f,1);
        System.out.println(bi);
        PDFUtil.getScaledImageWithHeight(bi, new File("output1.png"), 350,240);
    }
}

上記のコードは、保護されていない標準の pdf ファイルに対して完全に機能します。セキュリティ ポリシーによってユーザーがページ抽出から制限されている PDF があります。この pdf のユーティリティを実行すると、次のエラーが表示されます。

例外:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
    at java.lang.System.arraycopy(Native Method)
    at org.jpedal.io.DecryptionFactory.decrypt(Unknown Source)
    at org.jpedal.io.ArrayDecoder.setObjectArrayValue(Unknown Source)
    at org.jpedal.io.ArrayDecoder.setValue(Unknown Source)
    at org.jpedal.io.ArrayDecoder.readArray(Unknown Source)
    at org.jpedal.io.ObjectDecoder.setValue(Unknown Source)
    at org.jpedal.io.ObjectDecoder.readObjectDataValues(Unknown Source)
    at org.jpedal.io.ObjectDecoder.readDictionaryAsObject(Unknown Source)
    at org.jpedal.io.PdfFileReader.readObject(Unknown Source)
    at org.jpedal.io.PdfReader.readObject(Unknown Source)
    at org.jpedal.objects.acroforms.rendering.DefaultAcroRenderer.createDisplayComponentsForPage(Unknown Source)
    at org.jpedal.PDFtoImageConvertor.convert(Unknown Source)
    at org.jpedal.PdfDecoder.getPageAsImage(Unknown Source)
    at org.jpedal.PdfDecoder.getPageAsImage(Unknown Source)
    at jpedaldemo.PDFUtil.getImageForPdfData(PDFUtil.java:54)
    at jpedaldemo.PDFUtil.main(PDFUtil.java:142)

何が問題だと思いますか? セキュリティ制限が問題を引き起こしていますか?

4

0 に答える 0