android PDF oluşturun olduğu birden fazla sayfaya sahip bir PDF oluşturmak için nasıl uygulamalarınızda gradle dosya dosyasını build.gradle - 'com.itextpdf: itext-pdfa: 5.5.8' derlemek
kullanın birden çok sayfa
- tempArrayList ile pdf oluşturmak için bu kodu - dosyanın dizisi yolu.
pdfAdı - pdf adını istediğiniz gibi girin.
generatePDF(String pdf_name) {
String pdfName= null;
Dialog dialog = new MaterialDialog.Builder(activity)
.backgroundColor(Color.WHITE).contentColor(Color.BLACK).title(getString(R.string.app_name)).titleColor(Color.BLACK)
.content("Generating pdf...").progress(true, 0)
.show();
dialog.setCancelable(false);
pdfName = new SimpleDateFormat("yyyyMMdd_HHmmss").format(System.currentTimeMillis()) + ".pdf";
File myPath = new File(AppConstant.Pdf_Directory, pdfName);
if (myPath.exists()) {
myPath.delete();
}
Document document = new Document(PageSize.A4); // create the document
try {
PdfWriter.getInstance(document, new FileOutputStream(myPath));
} catch (Exception e) {
}
// open document
document.open();
for (int i = 0; i < tempArrayList.size(); i++) {
Bitmap bmp = null;
try {
bmp = BitmapFactory.decodeFile(tempArrayList.get(i));
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 90, stream);
Image image = Image.getInstance(stream.toByteArray());
if (image.getWidth() >= document.getPageSize().getWidth() || image.getHeight() >= document.getPageSize().getHeight()) {
image.scaleToFit(document.getPageSize());
}
image.setAbsolutePosition((document.getPageSize().getWidth() - image.getScaledWidth())/BaseField.BORDER_WIDTH_MEDIUM, (document.getPageSize().getHeight() - image.getScaledHeight())/BaseField.BORDER_WIDTH_MEDIUM);
document.add(image);
document.newPage();
} catch (Exception ex) {
ex.printStackTrace();
Toast.makeText(activity, "Fail to generate pdf.", Toast.LENGTH_SHORT).show();
}
if (bmp != null) {
bmp.recycle();
}
}
// close the document
document.close();
Toast.makeText(activity, "Pdf generate successfully.", Toast.LENGTH_SHORT).show();
System.out.println(" pdf generate ");
dialog.dismiss();
}
Sorunuz belirsizdir. Daha fazla veri varsa yeni sayfalar otomatik olarak oluşturulur, ardından tek bir sayfada yer vardır. Bir “Grafik” nesnesinden bahsediyorsunuz. PdfGraphics2D'ye başvurduğunuzu farz ediyorum. Bununla birlikte, Android'den de bahsediyorsunuz. Android'de "Graphics2D" yok, bu yüzden sorunuz hiç mantıklı değil. –