pdf zusammenfügen

Petra24

Grünschnabel
Hallo zusammen,
Ich habe ein Problem ,wenn ich mehrere PDF-Datein zusammenfügen möchte . Wenn alle Seiten Hochformat haben dann funktionert das einwandfrei. Aber das Problem tritt auf,wenn die Seiten eine Mischung von Querfomat und Hochfomat sind. (Die Querformat-Seiten werden ausgeschnitten)
ich verwende die iText-Bibliothek dafür.

Hat jemand eine Idee ,wie ich das Problem lösen kann.

Thanks in Advance

Ciao
Hier poste ich den Code

Code:
com.lowagie.text.Document document = new com.lowagie.text.Document();
		try {
			List<InputStream> pdfs = streamOfPDFFiles;
			List<PdfReader> readers = new ArrayList<PdfReader>();
		
			int totalPages = 0;
			Iterator<InputStream> iteratorPDFs = pdfs.iterator();
			// Create Readers for the pdfs.
			while (iteratorPDFs.hasNext()) {
				InputStream pdf = iteratorPDFs.next();
				PdfReader pdfReader = new PdfReader(pdf);
				readers.add(pdfReader);
				totalPages += pdfReader.getNumberOfPages();
			} // Create a writer for the outputstream
			PdfWriter writer = PdfWriter.getInstance(document, outputStream);
			document.open();
			BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
			PdfContentByte cb = writer.getDirectContent(); // Holds the PDF //
															// data
			PdfImportedPage page;
			int currentPageNumber = 0;
			int pageOfCurrentReaderPDF = 0;
			Iterator<PdfReader> iteratorPDFReader = readers.iterator(); 
			
			while (iteratorPDFReader.hasNext()) {
				
				PdfReader pdfReader = iteratorPDFReader.next(); // Create a new
																// page in the
																// target for
																// each source
																// page.
				while (pageOfCurrentReaderPDF < pdfReader.getNumberOfPages()) {
					document.newPage();
					pageOfCurrentReaderPDF++;
					currentPageNumber++;
					
					page = writer.getImportedPage(pdfReader, pageOfCurrentReaderPDF);
					
					
					cb.addTemplate(page, 0, 0); // Code for pagination.
					if (paginate) {
						cb.beginText();
						cb.setFontAndSize(bf, 12);

						cb.showTextAligned(PdfContentByte.ALIGN_CENTER, "Seite - " + currentPageNumber + " -", 300, 5,
								0);
						cb.endText();
					}
				}
				pageOfCurrentReaderPDF = 0;
			}
			outputStream.flush();
			document.close();
			outputStream.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
 
Zurück