0
を使用して、私は次のようなデータが含まれている活性を有する:画像からPDFを作成します - アンドロイドItextPdf
私は、このビューからPDFを生成するには、次のコードを使用しています:
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 10, stream);
Image image = Image.getInstance(stream.toByteArray());
image.setAbsolutePosition(0, 0);
Document document = new Document(image);
PdfWriter.getInstance(document, new FileOutputStream(filePath));
document.open();
document.add(image);
document.close();
しかし、私がrecyclerviewに20行以上ある場合、私はこのエラーを受け取ります:
exceptionconverter: com.itextpdf.text.documentexception: the page size must be smaller than 14400 by 14400. it's 1080.0 by 25288.0
これは画像の高さが14400の最大ページサイズを超えているためです。私はその部分を持っています。
しかし、イメージサイズがページサイズを超えた場合、イメージを2ページに分割する方法を知りたいと思います。
float width = image.getScaledWidth();
float height = image.getScaledHeight();
Rectangle page = new Rectangle(width, height/2);
Document document = new Document(page);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filePath));
document.open();
PdfContentByte canvas = writer.getDirectContentUnder();
canvas.addImage(image, width, 0, 0, height, 0, -height/2);
document.newPage();
canvas.addImage(image, width, 0, 0, height, 0, 0);
document.newPage();
canvas.addImage(image, width, 0, 0, height, -width/2, - height/2);
document.newPage();
canvas.addImage(image, width, 0, 0, height, -width/2, 0);
document.close();
しかし、まだそれが働いて取得することができません:
は、私は、次のコードを試してみました。誰かがこれについて正しい方向に私を指摘することができますか?
よろしくお願いします。私はこれで試して、それは最大50行で動作しています。どうもありがとう :) – user2893564