Está en la página 1de 2

private void btnGenerarPDF_Click(object sender, System.

EventArgs e)
{
//creamos el documento
//...ahora configuramos para que el tamaño de hoja sea A4
Document document = new Document(iTextSharp.text.PageSize.A4);
document.PageSize.BackgroundColor= new iTextSharp.text.Color(255, 25
5,255);
document.PageSize.Rotate();
//...definimos el autor del documento.
document.AddAuthor("Arbis Percy Reyes Paredes");
//...el creador, que será el mismo eh!
document.AddCreator("Arbis Percy Reyes Paredes");
//hacemos que se inserte la fecha de creación para el documento
document.AddCreationDate();
//...título
document.AddTitle("Generación de un pdf con itextSharp");
//... el asunto
document.AddSubject("Este es un paso muy important");
//... palabras claves
document.AddKeywords("pdf, PdfWriter; Documento; iTextSharp");
//creamos un instancia del objeto escritor de documento
PdfWriter writer = PdfWriter.GetInstance(document,new System.IO.File
Stream
("Code.pdf", System.IO.FileMode.Create));

//encriptamos el pdf, dándole como clave de usuario "key" y la clave d


el dueño será "owner"
//si quitas los comentarios (en writer.SetEncryption...), entonces e
l documento generado
//no mostrarà tanto la información de autor, titulo, fecha de creacion..
.
//que habiamos establecio más arriba. y sólo podrás abrirlo con una clave
//writer.SetEncryption(PdfWriter.STRENGTH40BITS,"key","owner", PdfWr
iter.CenterWindow);
//definimos la manera de inicialización de abierto del documento.
//esto, hará que veamos al inicio, todas la páginas del documento
//en la parte izquierda
writer.ViewerPreferences= PdfWriter.PageModeUseThumbs;

//con esto conseguiremos que el documento sea presentada de dos en d


os
writer.ViewerPreferences=PdfWriter.PageLayoutTwoColumnLeft;
//con esto podemos oculta las barras de herramienta y de menú respecti
vamente.
//(quite las dos barras de comentario de la siguiente línea para ver l
os efectos)
//PdfWriter.HideToolbar | PdfWriter.HideMenubar
//abrimos el documento para agregarle contenido
document.Open();
//este stream es para jalar el código
string TemPath=Application.StartupPath.ToString();
TemPath=TemPath.Substring(0,TemPath.Length -10);
string pathFileForm1cs=TemPath + @"\Form1.cs";
System.IO.StreamReader reader = new System.IO.StreamReader(pathFileF
orm1cs);
//leemos primera línea
string linea= reader.ReadLine();
//creamos la fuente
iTextSharp.text.Font myfont= new iTextSharp.text.Font(
FontFactory.GetFont(FontFactory.COURIER, 10, iTextSharp.text.Font.IT
ALIC));
//creamos un objeto párrafo, donde insertamos cada una de las líneas que
//se vaya leyendo mediante el reader
Paragraph myParagraph = new Paragraph("Código fuente en Visual C# \n\n
",myfont);
do
{
//leyendo linea de texto
linea=reader.ReadLine() ;
//concatenando cada parrafo que estará formado por una línea
myParagraph.Add(new Paragraph(linea,myfont));
}while(linea !=null); //mientras no llegue al final de documento, s
igue leyendo
//agregar todo el paquete de texto
document.Add(myParagraph);
//esto es importante, pues si no cerramos el document entonces no se
creara el pdf.
document.Close();
//esto es para abrir el documento y verlo inmediatamente después de su
creación
System.Diagnostics.Process.Start("AcroRd32.exe","Code.pdf");