• Home
  • Referenzen
  • Südtirol Panorama
  • Impressum
  • Kontakt
  • Blog
  • Bilder Gallery
  • Artikel

    • TR/Phorpiex 552960 Lösung
    • Facebook Connect via Asp.net
    • Samsung Wave S8500-S8530 Touchscreen/Display Tausch Anleitung
    • ERROR CREATING CONTROL FOR NODETYPE: Media Umbraco v4
    • Samsung Wave Bada 2.0 S8500XXKK5 zum download bereit
    • Funktionen und Views beim selbergenieren des LinqToSql Codes einbeziehen
    • Samsung Wave Google Exchange einrichten
    • Keep div:hover open when changing nested select box
    • Jquery shuffle plugin with sorting by attribute
    • Jquery Html Slider - bxSlider
    • Links

      • Flightplanning24 – Metar Taf Webcams
      • Internetseiten Südtirol
      • Jobbörse Südtirol
      • Niederkofler Webentwicklung
  • Kategorien

    • Allgemein (23)
    • In eigener Sache (4)
    • Javascript (3)
    • Kaufberatung (2)
    • Konsolen (4)
    • Programmierung (9)
    • Spiele (7)
    • Technik (23)
    • Tools (6)
    • Webprogrammierung (77)
    • Windows (33)
      • Treiber (4)
    • XBox 360 (3)
  • Archive

    • Januar 2012
    • Dezember 2011
    • November 2011
    • Oktober 2011
    • September 2011
    • August 2011
    • Juli 2011
    • Juni 2011
    • Mai 2011
    • April 2011
    • März 2011
    • Februar 2011
    • November 2010
    • Oktober 2010
    • September 2010
    • August 2010
    • Juli 2010
    • Juni 2010
    • Mai 2010
    • April 2010
    • März 2010
    • Februar 2010
    • Januar 2010
    • Dezember 2009
    • November 2009
    • Oktober 2009
    • September 2009
« Android für Samsung Jet S8000 (Jetdroid)
211 MegaPixel Panorama – Seekofel 360° »

iText Html to Pdf Converter

iText ist eine OpenSource Projekt, welches ermöglicht nicht nur HTML in PDF zu konvertieren, sondern auch mittels Klassen ein beliebiges PDF zu erstellen. Man kann jedoch auch den umgekehrten Weg einschlagen und vom PDF ein HTML erstellen lassen.

Leider gibt es viele verschiedene Versionen von iText, dadurch stimmen die meisten Tutorials nicht zusammen. Wenn man Zeit hat, ist es jedoch eine sehr gute Lösung.

Hier zum download

Hier ein kleines Tutorial von mir:

Header und Footer einfügen in jede PDF-Seite:

Um einen Footer oder Header einzufügen müsst ihr die Funktion OnEndPage() der Klasse PdfPageEventHelper überschreiben

Dann müsst ihr noch das event euren PdfWriter hinzufügen

  public class _events : PdfPageEventHelper {         private Image _img;         private Image _footerImg;         public _events() {             _img = Image.GetInstance(@"\logo_de.jpg");             _footerImg = Image.GetInstance(@"\footer_de.png");             /*             * scale image to fit available space, if needed             */             //_img.ScalePercent(50);         }         // Definition vom Header und Footer         public override void OnEndPage(PdfWriter writer, Document document) {             //document.Add(new Phrase("test"));             Rectangle page = document.PageSize;             // create two column table;             //=====  HEADER             PdfPTable head = new PdfPTable(1);             head.TotalWidth = page.Width;              //add image; PdfPCell() overload sizes image to fit cell             PdfPCell c;// = new PdfPCell(_img, false);             c = new PdfPCell(_img, false);             c.VerticalAlignment = Element.ALIGN_TOP;             c.HorizontalAlignment = Element.ALIGN_RIGHT;             c.Border = Rectangle.NO_BORDER;             head.AddCell(c);             head.WriteSelectedRows(                 0, -1, // first/last row; -1 flags all write all rows                 0, // left offset                 // ** bottom** yPos of the table                 page.Height ,               writer.DirectContent             );             //====== FOOTER ===========================================             PdfPTable footer = new PdfPTable(1);             footer.TotalWidth = page.Width;             //add the collection to the document             // header text             c = new PdfPCell(_footerImg);             c.Border = Rectangle.NO_BORDER;             c.VerticalAlignment = Element.ALIGN_BOTTOM;             c.HorizontalAlignment = Element.ALIGN_CENTER;             footer.AddCell(c);             footer.WriteSelectedRows(               0, -1,          // first/last row; -1 flags all write all rows               0,                 footer.TotalHeight + 15,               writer.DirectContent             );         }  public void GeneratePDF(){             //create document          //   Response.Write(Server.MapPath("."));        �             try {                 Document document = new Document(PageSize.A4,40,40,120,50);                 //writer - have our own path!!!                  PdfWriter writer = PdfWriter.GetInstance(document, >new FileStream(@"D:\Projekte\Portale\Suedtirolcom\suedtirolcom\Pdf\" + "parsetest.pdf", FileMode.Create));                     // the object required to write to a (output) Stream                     //PdfWriter.GetInstance(document, ms);                     _events e = new _events();                     // INSTEAD DO THIS TO SAVE IN-MEMORY COPY                     //PdfWriter writer = PdfWriter.GetInstance(document,  Response.OutputStream);                     writer.PageEvent = e;                     document.Open(); //document.close(); . . . }

Dieser Beitrag wurde vor am Freitag, 3. September 2010 um 09:45 Uhr veröffentlicht und unter Webprogrammierung gespeichert. Sie können Kommentare zu diesem Eintrag über den RSS-2.0-Feed verfolgen. Sie können einen Kommentar hinterlassen oder einen Trackback von Ihrer Website hierher setzen.

2 Kommentare »

  1. Manfred schrieb am 28. September 2010 um 16:43

    Hallo Stefan

    Hast Du auch eine Lösung für HTML -> PDF wenn im HTML Bilder drin sind? Bei mir sind ab Version 5.0.2.0 von iText immer die Bilder mit der linken unteren Ecke im PDF eingefügt anstelle der linken oberen Ecke – somit sind die Bilder immer über dem oberen Text oder im Extremfall, wenn das HTML mit einem Bild beginnt ausserhalb des oberen PDF Randes. Hast Du dazu irendwo eine Lösung gesehen?

    Besten Dank
    Manfred

  2. Tolpeit schrieb am 28. September 2010 um 19:55

    Leider habe ich folgendes Problem noch nicht gehabt. Werde mich erkunden und dir die Lösung posten
    lg
    stefan

RSS-Feed für Kommentare zu diesem Artikel. TrackBack-URL

Einen Kommentar hinterlassen

designed by tolpeit © 2010 - all rights reserved