¿Cómo incluir texto en un array de byte(pdf)?

26 Feb

En este ejemplo intento mostrar como modificar un array de byte (pdf), añadiendo le un texto.

Requisitos iTextSharp.

Para este ejemplo tendréis que incorporar la siguiente librería.
using iTextSharp.text.pdf;


//IncluirTexto: Inserta en el pdf el texto indicado en la llamada.
//pdf: Array de byte con el fichero pdf.
//texto: Cadena a insertar en el pdf

public byte[] IncluirTexto(byte[] pdf, string texto)
{

try{

//Definimos y transformamos el array de bytes en un pdfReader
PdfReader pdfRecibido = new PdfReader(pdf);
//Definimos un nuevo Documento en memoria
Document memDoc = new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);
MemoryStream memStream = new MemoryStream();
PdfWriter pdfNuevo = PdfWriter.GetInstance(memDoc, memStream);
using (pdfNuevo ){

using (memDoc) {

memDoc.Open();//Abrimos el documento a escribir.
//Recorremos las páginas del pdf recibido

for (int pgInd = 1; pgInd <= pdfRecibido.NumberOfPages; pgInd++) {

//Añadimos una nueva página al nuevo pdf.
memDoc.NewPage();
//Generamos el contenido para la nueva página.
PdfContentByte cb = pdfNuevo.DirectContent;
//Establecemos las propiedades de la fuente.
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetColorFill(BaseColor.DARK_GRAY);
cb.SetFontAndSize(bf, 8);
//Escribimos el texto.
cb.BeginText();
//Asignamos las coordenas y rotación para el texto
cb.ShowTextAligned(0, texto, 60, 400, 90);
cb.EndText();

//Creamos la nueva página importada del pdf recibido...
PdfImportedPage page = pdfNuevo.GetImportedPage(pdfRecibido, pgInd);
//Lo añadimos al csv
cb.AddTemplate(page, 0, 0);

}
//Cerramos el documento resultante.
memDoc.Close();

}

}
//Devolvemos los byte del documento resultante.
return memStream.ToArray();

} catch (Exception oEx) {
throw new Exception ("Error genérico " + oEx.Message);
}

}

Anuncios

Una respuesta to “¿Cómo incluir texto en un array de byte(pdf)?”

Trackbacks/Pingbacks

  1. C#, ¿qué ? y ¿cómo ? | Javier De Usera R. - marzo 2, 2015

    […] ¿Cómo incluir texto en un array de byte(pdf)? […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

La que has liado

Fotografiar con palabras, nuestro momento, nuestra época. Del 1.1 al 2.0

TERZERO

Pio Baroja

El árbol inútil

Blog de cuentos, libros y mala poesía

Lo que de verdad importa

somos dueños de nuestro destino, inventores de nuestro futuro y nuestra felicidad...

Frikstation

Pasión por el mundo de la televisión, el cine, los videojuegos y su merchandising.

A %d blogueros les gusta esto: