pdf mit iText drucken

Defan

Mitglied
hi

ich hoffe mal, dass ich hier richtig bin^^

also mein problem ist folgendes: ich erstell mit iText eine pdf-Datei.. das geht alles wunderbar... nun will ich noch, dass diese ausgedruckt wird... am besten mit der auswahl: welcher drucker, und so
aber ich bekomm das nicht hin..
am liebsten würde ich das mit iText drucken, wenn das denn überhaupt geht(hab da noch nichts gefunden) notfalls muss ich halt noch eine ander jar einbinden oder Ähnliches, aber mit iText wäre es mir am liebsten... hoffe mal, dass ihr mir helfen könnt^^

danke schonmal
 

Guybrush Threepwood

Top Contributor
Mit iText können PDFs nicht gedruckt und auch nicht angezeigt werden. Dazu brauchst Du andere Herangehensweisen, wie z. B. die Folgende (Du benötigst dafür den PDFRenderer):
Java:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.print.Book;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

import javax.swing.JOptionPane;

import com.sun.pdfview.PDFFile;
import com.sun.pdfview.PDFPage;
import com.sun.pdfview.PDFRenderer;

public class PDFPrinter {

	public PDFPrinter(File file) {
		try {
			FileInputStream fis = new FileInputStream(file);
			FileChannel fc = fis.getChannel();
			ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
			PDFFile pdfFile = new PDFFile(bb); // Create PDF Print Page
			PDFPrintPage pages = new PDFPrintPage(pdfFile);

			// Create Print Job
			PrinterJob pjob = PrinterJob.getPrinterJob();
			PageFormat pf = PrinterJob.getPrinterJob().defaultPage();
			Paper a4paper = new Paper();
			double paperWidth = 8.26;
			double paperHeight = 11.69;
			a4paper.setSize(paperWidth * 72.0, paperHeight * 72.0);

			/*
			 * set the margins respectively the imageable area
			 */
			double leftMargin = 0.3;
			double rightMargin = 0.3;
			double topMargin = 0.5;
			double bottomMargin = 0.5;

			a4paper.setImageableArea(leftMargin * 72.0, topMargin * 72.0,
					(paperWidth - leftMargin - rightMargin) * 72.0,
					(paperHeight - topMargin - bottomMargin) * 72.0);
			pf.setPaper(a4paper);

			pjob.setJobName(file.getName());
			Book book = new Book();
			book.append(pages, pf, pdfFile.getNumPages());
			pjob.setPageable(book);

			// Send print job to default printer
			if (pjob.printDialog()) {
				pjob.print();
			}
		} catch (IOException e) {
			e.printStackTrace();
		} catch (PrinterException e) {
			JOptionPane.showMessageDialog(null, "Printing Error: "
					+ e.getMessage(), "Print Aborted",
					JOptionPane.ERROR_MESSAGE);
			e.printStackTrace();
		}
	}

	class PDFPrintPage implements Printable {
		private PDFFile file;

		PDFPrintPage(PDFFile file) {
			this.file = file;
		}

		public int print(Graphics g, PageFormat format, int index)
				throws PrinterException {
			int pagenum = index + 1;

			// don't bother if the page number is out of range.
			if ((pagenum >= 1) && (pagenum <= file.getNumPages())) {
				// fit the PDFPage into the printing area
				Graphics2D g2 = (Graphics2D) g;
				PDFPage page = file.getPage(pagenum);
				double pwidth = format.getImageableWidth();
				double pheight = format.getImageableHeight();

				double aspect = page.getAspectRatio();
				double paperaspect = pwidth / pheight;

				Rectangle imgbounds;

				if (aspect > paperaspect) {
					// paper is too tall / pdfpage is too wide
					int height = (int) (pwidth / aspect);
					imgbounds = new Rectangle(
							(int) format.getImageableX(),
							(int) (format.getImageableY() + ((pheight - height) / 2)),
							(int) pwidth, height);
				} else {
					// paper is too wide / pdfpage is too tall
					int width = (int) (pheight * aspect);
					imgbounds = new Rectangle(
							(int) (format.getImageableX() + ((pwidth - width) / 2)),
							(int) format.getImageableY(), width, (int) pheight);
				}

				// render the page
				PDFRenderer pgs = new PDFRenderer(page, g2, imgbounds, null,
						null);
				try {
					page.waitForFinish();
					pgs.run();
				} catch (InterruptedException ie) {
				}

				return PAGE_EXISTS;
			} else {
				return NO_SUCH_PAGE;
			}
		}
	}
}

Aufruf:
Java:
new PDFPrinter(file);


Ciao!
 

Defan

Mitglied
wow... dank dir^^ mir hat zwar die PDFRenderer.jar gefehlt, aber die hab ich schnell gefunden....
funktioniert (bis jetzt) auch wunderbar :)
 

Steven Hachel

Bekanntes Mitglied
Hallöle,
weiss einer, wie ich AcroFields mit dem PDFRenderer ausgefüllt drucken kann,
ohne mit dem Stamper arbeiten zu müssen? Weil darüber kann ich diese Felder ausfüllen und das PDF speichern,
aber das nützt mir so leider nichts.


viele Grüße
Steven
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Lazybone iText und Drucken Allgemeine Java-Themen 5
L Per IText erstelltes PDF automatisch drucken Allgemeine Java-Themen 13
G iText: Problem beim Drucken von AcroFormen Allgemeine Java-Themen 2
izoards iText Lizenz? Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
W PDFs signieren mittels IText / Lowagie Allgemeine Java-Themen 0
M itext - Button der Text in Zwischenablage stellt Allgemeine Java-Themen 0
S iText: zweite Seitenhälfte mit vorhandenen pdf füllen Allgemeine Java-Themen 2
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S JFileChooser und iText Allgemeine Java-Themen 6
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
4a61766120617274697374 PDF iText Wort Koordinaten auslesen Allgemeine Java-Themen 1
S iText Cellen mit Attributen aus ArrayListen füllen Allgemeine Java-Themen 1
G Mein PDF Projekt mit iText Allgemeine Java-Themen 2
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
K Pdf mit dynamischem Text mit iText Allgemeine Java-Themen 0
C Itext Voralagen Header Footer -> PDF Allgemeine Java-Themen 0
J iText und PdfWriter.DID_SAVE Allgemeine Java-Themen 4
S runnable jar file in Verbindung mit itext Allgemeine Java-Themen 3
I itext Libreoffice Java und ein PDF Template Allgemeine Java-Themen 1
F Input/Output Problem mit iText: Formularfeld uneditierbar machen Allgemeine Java-Themen 0
L iText PDF-Generierung ohne Speichern Allgemeine Java-Themen 10
P iText Text zentrieren Allgemeine Java-Themen 3
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
A Tabelle mit iText erstellen Allgemeine Java-Themen 3
B itext Graphics Allgemeine Java-Themen 4
V iText Textfelder mit Zahlen! Allgemeine Java-Themen 2
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
M itext Leerzeichen am ende unterstreichen Allgemeine Java-Themen 4
C Wie kann man die IText Table Position bestimmen? Allgemeine Java-Themen 3
N iText-Nutzung (Version 2.1.7) in kommerzieller Website Allgemeine Java-Themen 8
K iText, HTML Einrückung im Document, aber nicht im Paragraph Allgemeine Java-Themen 3
B iText Portable Collection Acrobat X Allgemeine Java-Themen 2
J iText und images Allgemeine Java-Themen 6
S iText PDF - Verständnisproblem beim Update von TableCells (Seitenzahlen) Allgemeine Java-Themen 2
T iText Dokument in DB und dann in ein JPanel Allgemeine Java-Themen 5
N iText Problem beim verlinken anderer PDFs Allgemeine Java-Themen 2
G itext BarcodeDatamatrix Allgemeine Java-Themen 4
F IText Table ohne Rand Allgemeine Java-Themen 5
P Itext PDf wird zu groß Allgemeine Java-Themen 8
D Tabellenbeschriftung im RTF-File mit IText erstellen??? Allgemeine Java-Themen 2
P PDF erstellen ohne iText Allgemeine Java-Themen 3
Guybrush Threepwood iText de facto nicht mehr verwendbar Allgemeine Java-Themen 15
D tiff (->komprimieren)-> iText(pdf) Allgemeine Java-Themen 2
Dissi Itext - Anordnung von Elementen durch PDF Writer Allgemeine Java-Themen 2
Z iText - 2. Seite pdf Allgemeine Java-Themen 7
W itext: Initialer Abstand in einem Dokument Allgemeine Java-Themen 2
T Deckblatt im iText realisieren... Allgemeine Java-Themen 5
T JXPanel mit seinen Komponenten auf PDF mit iText ausgeben Allgemeine Java-Themen 15
T IText: Zwei A4 PDF´s auf ein A3 PDF´s Allgemeine Java-Themen 2
A Itext: Fonts einbetten Allgemeine Java-Themen 1
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
D itext & Stringlänge Allgemeine Java-Themen 10
G iText Kursiv/Fett mit IText Allgemeine Java-Themen 3
F Probleme mit iText Allgemeine Java-Themen 3
R Pdf öffnen, das von iText erstellt wurde Allgemeine Java-Themen 4
D iText und Table.setTableFitsPage(); geht nicht Allgemeine Java-Themen 12
R Pfad zu PDF bei iText in Webapps Allgemeine Java-Themen 4
D Probleme beim Umstellen von iText 1.4.4 auf Version 2.1.2 Allgemeine Java-Themen 5
G itext größe von image Allgemeine Java-Themen 2
J itext cell border Allgemeine Java-Themen 1
E Aus mehreren PDFs eines machen, zusammenfügen mittels iText Allgemeine Java-Themen 1
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
J Itext , Spaltenbreite automatisch anpassen ? Allgemeine Java-Themen 4
J Itext Seite drehen ? Allgemeine Java-Themen 4
S iText Allgemeine Java-Themen 10
A Probleme mit iText - Text in Zellen ist zu lang Allgemeine Java-Themen 7
P RTF dynamisch machen (IText, Swing) Allgemeine Java-Themen 4
L iText: Mehrseitiges PDF erzeugen Allgemeine Java-Themen 9
V Itext - "Seite . von " ausgeben Allgemeine Java-Themen 6
B Probleme mit itext Allgemeine Java-Themen 2
T iText + neue Seite Allgemeine Java-Themen 14
K JFreeChart und itext: Bildprobleme Allgemeine Java-Themen 4
G iText: Wie stellt man die Höhe eines Strings fest? Allgemeine Java-Themen 3
V Lösung mit iText gesucht. Allgemeine Java-Themen 2
Z Frage zu iText Allgemeine Java-Themen 2
A Übergroße Graphics2D mit iText als PDF schreiben Allgemeine Java-Themen 3
D iText: Tabelle in Footer einfügen Allgemeine Java-Themen 6
R iText: PDF-Datei erzeugen Allgemeine Java-Themen 2
P iText unter Linux zum Laufen bringen Allgemeine Java-Themen 4
R iText.jar wird zur Laufzeit nicht gefunden Allgemeine Java-Themen 4
L editieren von pdf mit iText Allgemeine Java-Themen 2
S iText - Java meets PDF Allgemeine Java-Themen 5
OnDemand Drucken / Druckserver Allgemeine Java-Themen 13
M Drucken drawString(); Allgemeine Java-Themen 1
M Drucken ohne Dialog Allgemeine Java-Themen 1
M Drucken von Dateien Allgemeine Java-Themen 10
S Seitenausrichtung beim Drucken Allgemeine Java-Themen 1
T Drucken einer PDF Datei Allgemeine Java-Themen 4
S Input/Output Drucken Allgemeine Java-Themen 2
C Mehrere Seiten drucken in Hoch- und Querformat Allgemeine Java-Themen 0
T Drucken von JPanel Allgemeine Java-Themen 4
F Mehrere JTables' drucken Allgemeine Java-Themen 0
B JTextArea 6 mal auf DinA4 Format verteilen und drucken Allgemeine Java-Themen 1
Androbin Drucken in Java - Größen- und Positionsprobleme Allgemeine Java-Themen 3
E Drucken einer Pdf Datei unter Java. Allgemeine Java-Themen 1
M pdf File bzw. ausgefüllte pdf Formulare drucken Allgemeine Java-Themen 2
L Aktuell angezeigtes Drucken Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben