2011-01-04 18 views
3

Ich möchte mit iTextSharp 5.0.5 arbeiten. Aber ich habe kein Tutorial zu dieser Version gefunden. Ich habe einige frühere Versionstutorials heruntergeladen, aber Fehler gegeben. Ich möchte nur ein paar Bilder per iTextSharp in eine PDF-Datei einfügen. Kann mir bitte jemand einen Code dafür geben?Wie füge ich Bilder zu einem PDF mit ITextSharp hinzu?

EDIT: Nachdem ich einige Zeit damit verbracht habe, habe ich endlich herausgefunden, wie man Bilder hinzufügt. Aber das Problem ist, dass das Bild zu groß ist. Jetzt ist mein Problem, wie man Bild schrumpft, oder ich möchte das Bild in der Seite im normalen Format sehen. Jetzt, wie kann ich es tun?

Antwort

6

Zuerst die Beispiele. Sie sind alle Teil von "iText in Action, 2. Ausgabe". Glücklicherweise sind die Beispiele des Buches alle available on line. Sie sind mit den verschiedenen Klassen und Themen markiert, die sie abdecken, um Ihnen zu helfen, das zu finden, wonach Sie suchen. Gutes Zeug.

Viele der alten Beispiele waren, wie Sie betonen, nicht mehr hilfreich. Deshalb sind sie nicht mehr auf der Website. Die Beispiele des Buches sind alle so aktuell wie Bruno es schaffen könnte (und er hält sie aktuell).

Auf der einen Seite ist The Book sehr nützlich, aber nicht erforderlich. Auf der anderen Seite ist Geld, das für das Buch ausgegeben wird, Geld, das zur Unterstützung von iText ausgegeben wird. Ich persönlich profitiere nicht davon, dass du das Buch gekauft hast, sondern betrachte Bruno als einen Freund. Hilf meinem Freund.

Oder sonst. Gr.

;)


Wenn Sie Image mit einem Document mit sind, haben Sie eine Reihe von Optionen:

image.scaleAbsolute(xScale, yScale); // 1.0f == same size 

image.scalePercent(percent); // 100.0f == same size 

image.scaleToFit(desiredX, desiredY); // in points, always maintains aspect ratio 

Sie Ihre Wahl.

Auf der anderen Seite, wenn Sie das Bild auf einen Content-Stream sind das Hinzufügen, PdfContentByte, direkt, haben Sie die oben, plus:

// scale/position the image Right Here. 
contentByte.addImage(image, desiredX, 0, 0, desiredY, xLoc, yLoc); 
// will NOT maintain aspect ratio. That's a "2d transformation matrix". Google it. 

Wenn zu einem PdfContentByte ein Bild hinzugefügt (oder deren Subklassen), können Sie entweder die obige Matrixtechnik verwenden oder die Bildskalierung (erste Reihe von Anrufen) und ihre Position festlegen. Sie sind erforderlich absolute Positionierung zu verwenden, wenn Sie die folgenden verwenden: „Das Bild muss absolute Positionierung haben“

image.setAbsolutePosition(xLoc, yLoc); 
contentByte.addImage(image); 

Wenn Sie nicht, addImage eine DocumentException Ausnahme mit der Meldung (oder was auch immer Ihre lokalisierte Version dieser Zeichenfolge ist).

+0

In iText beginnen nur Typen mit Großbuchstaben. Es ist für mich klar, dass jeder, der die vorherige Änderung genehmigt hat, mit iText nicht vertraut war und nicht nachgesehen hat. –

Verwandte Themen