C# – PDF dokumentum létrehozása (iTextSharp)

MEGOSZTÁS

Ha tetszett a cikk, akkor nyugodtan oszd meg ismerőseiddel, valószínű ők is örülni fognak neki.

Az Adobe cég PDF formátuma napjainkban az egyik legszélesebb körben elterjedt dokumentum formátum. A legtöbb felhasználó elvárja, hogy a fejlesztett szoftver képes legyen PDF dokumentum létrehozására, kezelésére. Sajnos az Adobe nem ad a fejlesztők kezébe ingyenesen elérhető SDK-t, csak a licensz megvásárlása után lesz elérhető az API. Az iTextSharp megoldja ezt a problémát. Ebben a bejegyzésben bemutatom, hogy lehet C# kódból PDF fájl létrehozni.

Az iTextSharp library a következő linken érhető el: http://itextpdf.com/download.php

Referenciaként adjuk a rendszerhez a letöltött iTextSharp dll fájlt. Ezzel elérhetővé válnak a PDF dokumentum kezeléséhez szükséges osztályok és metódusok. A kódban helyezzük el az alábbi két sor kódot:

using iTextSharp.text;
using iTextSharp.text.pdf;

Első lépésként szükség van egy Document objektum létrehozására:

Document myDocument = new Document(PageSize.A4);

Ezután egy PDFWriter példányt hozunk létre. Ezen objektum példányosításakor adhatjuk meg, hogy az elkészítendő PDF fájl hol kerüljön elhelyezésre.

PdfWriter.GetInstance(myDocument, new FileStream(“c:\\valami.pdf”, FileMode.Create));

Nyissuk meg a dokumentumot, és írjunk bele egy kis szöveget:

myDocument.Open();
myDocument.Add(new iTextSharp.text.Paragraph(“Ez egy bekezdés a PDF fájlban.\n”));

Ezután zárjuk le a dokumentumot. A document.Close() hívás hatására létrejön a PDF fájl az előbb megadott helyen.

Természetesen nem csak ilyen egyszerű tartalmak létrehozására van lehetőség, az iTextSharp számos funkciót biztosít a fejlesztő számára sokkal komplexebb dokumentumok létrehozására. A Chunk egy adott szövegdarab, saját stílussal. Használatával lehetőség van az egyes részek betűtípusának, betűstílusának és színének meghatározására. A Phrase pedig Chunk-ok gyűjteménye. A következő példában különböző betűtípusú szövegrészeket adunk a dokumentumhoz.

Chunk c = new Chunk(“Verdana szöveg \n”,
FontFactory.GetFont(“Verdana”, 12));
Chunk c2 = new Chunk(“Tahoma szöveg, kicsit nagyobb méretben”,
FontFactory.GetFont(“Tahoma”, 14));
iTextSharp.text.Paragraph p = new iTextSharp.text.Paragraph();
p.Add(c);
p.Add(c2);
myDocument.Add(p);

Az iTextSharp támogatja képek használatát és PDF fájlokba történő beágyazását. Egy kép megadható URL alapján:

iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(“Kép URL”);

Megadható a helyi gép fájlrendszeréből is:

iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(“Kep.jpg”);

A következő kódrészlet bemutatja, hogyan adhatunk egy képet a dokumentumhoz:

iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(“c:\\valami.jpg”);
iTextSharp.text.Paragraph p2 = new iTextSharp.text.Paragraph();
p2.Add(image);
myDocument.Add(p2);

Forrás: http://www.aspfree.com/c/a/BrainDump/Working-with-iTextSharp/

Írta: Sallai Máté

MEGOSZTÁS

Ha tetszett a cikk, akkor nyugodtan oszd meg ismerőseiddel, valószínű ők is örülni fognak neki.

HOZZÁSZÓLÁS

Ha nem hagy nyugodni az, amit a cikkben olvastál, akkor nyugodtan írd meg kérdésed vagy észrevételed kommentbe. Így szerzőnk könnyen tud neked válaszolni.

Vélemény, hozzászólás?