ASP.NET - Crear pdf con iTextSharp

   
Vista:

Crear pdf con iTextSharp

Publicado por villy (39 intervenciones) el 30/10/2007 15:37:15
Hola a todos, a ver si alguien sabe algo por favor. Quería crear un pdf con iTextsharp de varias páginas. Yo ya creo pdfs de una sola página, pero quería crear un pdf con muchas páginas, donde cada página es una plantilla o página que tengo en un archivo pdf existente el cual sólo tiene una página. Es decir, tengo que sacar el contenido de un pdf que tiene sólo una página A, y quiero hacer un archivo pdf con muchas páginas donde cada página sea la página A. Si alguien sabe algo, por favor....... Gracias a todos

PD: Utilizo pdfreader de itextSharp para leer del archivo existente la página A, utilizo pdfStamper para ir rellenando campos y lo meto todo en un memoryStream, para un archivo con una sóla página, pero no se como hacerlo para un archivo con varias páginas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crear pdf con iTextSharp

Publicado por Dante (3 intervenciones) el 08/11/2007 14:57:02
ola yo ando buscando lo mismo, has podido lograr hacer esto?? me podrias ayudar porfavor??? muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Dante (3 intervenciones) el 08/11/2007 14:57:40
ola yo ando buscando lo mismo, has podido lograr hacer esto?? me podrias ayudar porfavor??? muchas gracias, respondeme a mi correo porfa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Villy (39 intervenciones) el 12/11/2007 12:48:02
Hola, ya lo he conseguido, aunque la solucion es poco elegante:

1- Creo document y writer (con writer escribo el archivo en disco duro):

Dim doc As Document = New Document
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(strRuta_archivos & "\" & strNombre_archivo_final, FileMode.Create))
doc.Open()
...

2-Creo un archivo temporal pdf a partir de una plantilla por cada registro que leo de una tabla. Con reader leo la información de la plantilla y con stamper creo el temporal con información sobre la plantilla:

Dim reader_plantilla As PdfReader = New PdfReader(Request.MapPath("") & "\Plantillas_Notificaciones\PLANTILLA.pdf")
Dim stamper As PdfStamper = New PdfStamper(reader_plantilla, New FileStream(strRuta_archivos & "\TEMP.pdf", FileMode.Create, FileAccess.Write))

3-Leo el temporal y se lo añado con esto al document asociado al writer, con lo que consigo añadir la información o página del archivo temporal el archivo final al que apunta el document y el writer. Al final queda un archivo pdf con todo.

Dim reader As PdfReader = New PdfReader(strRuta_archivos & "\TEMP.pdf")
Dim cb As PdfContentByte = writer.DirectContent
doc.NewPage()
Dim page1 As PdfImportedPage = writer.GetImportedPage(reader, 1)
cb.AddTemplate(page1, 1.0F, 0, 0, 1.0F, 0, 0)

NOTA: Evidentemente el punto 2 y 3 tienen que estar en el bucle de lectura de registros de una determinada tabla, de la cual queremos sacar todos sus registros en distintas páginas de un pdf, donde cada página está basada en una plantilla

Espero te sirva. Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Maverick (1 intervención) el 14/09/2009 18:40:08
Hola, quiero aportar el codigo que a mi me sirvio basandome en el de Villy, por cierto este esta en C# porque yo no manejo VB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//crea la instancia del nuevo documento
Document doc = new Document(psize);
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream
("C:/certificado_multiple.pdf", FileMode.Create));
doc.Open();
 
for (int i = 0; i < j; i++)
{
    //lee la planilla y estampa la primer hoja
    PdfReader plantilla = new PdfReader("C:/plantilla.pdf");
    PdfStamper pdfStamper = new PdfStamper(plantilla, new FileStream("C:/Documents and Settings/nmartinez/Mis documentos/certificado_generado.pdf", FileMode.Create));
    pdfStamper.Close();
    //lee el estampado y lo adjunta al documento
    PdfReader reader = new PdfReader("C:/certificado_generado.pdf");
    PdfContentByte cb = writer.DirectContent;
    PdfImportedPage page1 = writer.GetImportedPage(reader, 1);
    cb.AddTemplate(page1, 1, 0, 0, 1, 0, 0);
    doc.NewPage();
}
doc.Close();
 
//abre el PDF
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment;filename=certificado_multiple.pdf");
Response.TransmitFile("C:/certificado_multiple.pdf");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por julio (1 intervención) el 19/05/2010 21:19:58
Como puedo ingresar datos al texto pdf una tabla que contiene la informacion que se mostrara en el pdf
por ejemplo deseo ingresar el nombre y la cedula
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por n.w.a_19-12 (1 intervención) el 19/12/2012 21:58:38
Oye una duda Maverick en tu codigo para el ciclo pones el valor de i<j , pero "j" que valor tiene?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por sonia (1 intervención) el 10/06/2010 18:32:44
si le pongo el ciclo esto no me sirve, solo si es una plantilla, por favor necesito ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Jose Ivan Sanchez Macias (6 intervenciones) el 11/01/2008 19:44:56
Hola, aqui te muestro un ejemplo de como uasr mas de una pagina con itextsharp, espero que te sirva. Saludos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
using System;
using System.IO;
 
using iTextSharp.text;
using iTextSharp.text.pdf;
 
namespace iTextSharp.tutorial.Chap01
{
	/// <summary>
	/// Chap0107 µÄժҪ˵Ã÷¡£
	/// </summary>
	public class Chap0107
	{
		public Chap0107()
		{
			Console.WriteLine("Chapter 1 example 7: newPage()");
 
			// step 1: creation of a document-object
			Document document = new Document();
 
			try
			{
 
				// step 2:
				// we create a writer that listens to the document
				// and directs a PDF-stream to a file
 
				PdfWriter.GetInstance(document, new FileStream("Chap0107.pdf", FileMode.Create));
 
				// step 3:
 
				// we Add a Watermark that will show up on PAGE 1
				try
				{
					Watermark watermark = new Watermark(Image.GetInstance("watermark.jpg"), 200, 420);
					document.Add(watermark);
				}
				catch
				{
					Console.Error.WriteLine("Are you sure you have the file 'watermark.jpg' in the right path?");
				}
 
				// we Add a Header that will show up on PAGE 1
				HeaderFooter header = new HeaderFooter(new Phrase("This is a header"), false);
				document.Header = header;
 
				// we open the document
				document.Open();
 
				// we rotate the page, starting from PAGE 2
				document.SetPageSize(PageSize.A4.Rotate());
 
				// we need to change the position of the Watermark
				try
				{
					Watermark watermark = new Watermark(Image.GetInstance("watermark.jpg"), 320, 200);
					document.Add(watermark);
				}
				catch
				{
					Console.Error.WriteLine("Are you sure you have the file 'watermark.jpg' in the right path?");
				}
 
				// we Add a Footer that will show up on PAGE 2
				HeaderFooter footer = new HeaderFooter(new Phrase("This is page: "), true);
				document.Footer = footer;
 
				// step 4: we Add content to the document
 
				// PAGE 1
 
				document.Add(new Paragraph("Hello World"));
 
				// we trigger a page break
				document.NewPage();
 
				// PAGE 2
 
				// we Add some more content
				document.Add(new Paragraph("Hello Earth"));
 
				// we remove the header starting from PAGE 3
				document.ResetHeader();
 
				// we trigger a page break
				document.NewPage();
 
				// PAGE 3
 
				// we Add some more content
				document.Add(new Paragraph("Hello Sun"));
				document.Add(new Paragraph("Remark: the header has vanished!"));
 
				// we reset the page numbering
				document.ResetPageCount();
 
				// we trigger a page break
				document.NewPage();
 
				// PAGE 4
 
				// we Add some more content
				document.Add(new Paragraph("Hello Moon"));
				document.Add(new Paragraph("Remark: the pagenumber has been reset!"));
 
			}
			catch(DocumentException de)
			{
				Console.Error.WriteLine(de.Message);
			}
			catch(IOException ioe)
			{
				Console.Error.WriteLine(ioe.Message);
			}
 
			// step 5: we close the document
			document.Close();
 
		}
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear pdf con iTextSharp en aplicacionWeb

Publicado por Michelle (2 intervenciones) el 27/11/2008 22:59:19
hola, segun lo que veo tu ya creas un archivo.pdf con informacion que tienes en un formulario de una pagina, por favor si me puedes dar un ejemplo de como lo hiciste, ya que cuando busco informacion acerca de como generar archivos .pdf desde c# solo encuentro ejemplos para aplicaciones win y mi caso es web y al quererlos aplicar a web me dan unos errores...de verdad gracias si me puedes ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear pdf con iTextSharp en aplicacionWeb

Publicado por Jordi (2 intervenciones) el 22/01/2013 13:49:21
Habeis encontrado solución????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Mari (1 intervención) el 19/02/2010 15:17:20
hoooo ...tenemos la misma duda !!cuando la resuelvas ayudame a mi =)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Villy (39 intervenciones) el 19/02/2010 15:25:36
En el post de más arriba está resuelto, ya lo conseguí

Hola, ya lo he conseguido, aunque la solucion es poco elegante:

1- Creo document y writer (con writer escribo el archivo en disco duro):

Dim doc As Document = New Document
Dim writer As PdfWriter = PdfWriter.GetInstance(doc, New FileStream(strRuta_archivos & "\" & strNombre_archivo_final, FileMode.Create))
doc.Open()
...

2-Creo un archivo temporal pdf a partir de una plantilla por cada registro que leo de una tabla. Con reader leo la información de la plantilla y con stamper creo el temporal con información sobre la plantilla:

Dim reader_plantilla As PdfReader = New PdfReader(Request.MapPath("") & "\Plantillas_Notificaciones\PLANTILLA.pdf")
Dim stamper As PdfStamper = New PdfStamper(reader_plantilla, New FileStream(strRuta_archivos & "\TEMP.pdf", FileMode.Create, FileAccess.Write))

3-Leo el temporal y se lo añado con esto al document asociado al writer, con lo que consigo añadir la información o página del archivo temporal el archivo final al que apunta el document y el writer. Al final queda un archivo pdf con todo.

Dim reader As PdfReader = New PdfReader(strRuta_archivos & "\TEMP.pdf")
Dim cb As PdfContentByte = writer.DirectContent
doc.NewPage()
Dim page1 As PdfImportedPage = writer.GetImportedPage(reader, 1)
cb.AddTemplate(page1, 1.0F, 0, 0, 1.0F, 0, 0)

NOTA: Evidentemente el punto 2 y 3 tienen que estar en el bucle de lectura de registros de una determinada tabla, de la cual queremos sacar todos sus registros en distintas páginas de un pdf, donde cada página está basada en una plantilla

Espero te sirva. Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por jordi (2 intervenciones) el 22/01/2013 13:43:07
El codigo no funciona, al hacer el bucle de que hablais me sale el siguiente error:

El proceso no puede obtener acceso al archivo 'TEMP.pdf' porque está siendo utilizado en otro proceso.

Al parecer el Stamper no se puede crear de nuevo sobre el fichero ya creado en la primera pasada del bucle porque el proceso lo deja abierto.

Alguna solucion????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por nayala (9 intervenciones) el 08/05/2014 05:35:48
MI CODIGO ES: AMIGOS...
PERO NO PUEDO COLOCAR EL ENCABEZADO Y PIE DE PAGINA.... DESDE YA MUCHAS GRACIAS POR FAVOR:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
System.Data.SqlClient.SqlCommand Cm_sp_CrearTablaHTMLAutoevaluados = new System.Data.SqlClient.SqlCommand("sp_CrearTablaHTMLAutoevaluados", this.sqlConnection);
            Cm_sp_CrearTablaHTMLAutoevaluados.CommandType = CommandType.StoredProcedure;
            Cm_sp_CrearTablaHTMLAutoevaluados.Parameters.Add("@codETS", SqlDbType.Text).Value = System.Convert.ToInt16(ddets_codigo.SelectedValue.ToString());
            System.Data.DataSet ds_Cm_sp_CrearTablaHTMLAutoevaluados = new DataSet();
            System.Data.SqlClient.SqlDataAdapter da_Cm_sp_CrearTablaHTMLAutoevaluados = new System.Data.SqlClient.SqlDataAdapter(Cm_sp_CrearTablaHTMLAutoevaluados);
            da_Cm_sp_CrearTablaHTMLAutoevaluados.Fill(ds_Cm_sp_CrearTablaHTMLAutoevaluados, "Res");
            System.Data.DataRow dr;
            dr = ds_Cm_sp_CrearTablaHTMLAutoevaluados.Tables[0].Rows[0];
            string tabla_impresion = dr.ItemArray[0].ToString();
 
            try
            {
                // Paso 1: Establecemos el tipo de Hoja y sus márgenes.
                Document document = new Document(PageSize.LETTER, 50, 50, 30, 15);
 
                // Paso 2: Creamos el obejeto PdfWriter especificandolo de salida.
                MemoryStream output = new MemoryStream();
                PdfWriter writer = PdfWriter.GetInstance(document, output);
 
                // Paro 3: Abrimos el documento para escritura
 
 
                document.Open();
 
 
                #region Pagina 1 ////CONTENIDO....
 
                document.NewPage();
 
                #endregion
 
                //Paso 8: Cerramos el documento
 
                document.Close();
 
 
                Response.ContentType = "application/pdf";
                Response.AddHeader("Content-Disposition", string.Format("attachment;filename=Impresion_Autoevaluados_" + ddets_codigo.SelectedValue.ToString() + '_' + System.DateTime.Now.ToString("dd'_'MM'_'yyyy'_'h'_'mm'horas'") + ".pdf"));
 
                //Paso 9: Se procede a descargar el documento.
                Response.BinaryWrite(output.ToArray());
            }
            catch (Exception ex)
            {
                throw ex;
            }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Francisco Jaiver (11 intervenciones) el 13/05/2014 22:44:29
Si usais MVC como es mi caso la forma en la que lo hago es con una libreria que se llama MVCToPDF y convierte una vista (que es lo mismo que pagina) en pdf. El ejemplo siguiente es lo que estoy usando:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
public ActionResult Index(int EstudianteID)
    {
      FormatoInscripcion FormatoInscripcion = new FormatoInscripcion();
 
      FormatoInscripcion.Estudiante = db.Estudiantes.Find(EstudianteID);
 
      var SubPeriodo = db.SubPeriodos.Where(s => s.PeriodoID == FormatoInscripcion.Estudiante.Periodo.PeriodoID && s.DependenciaID.HasValue).OrderBy(x => x.Start).First();
 
      ViewBag.Factura = new Factura(FormatoInscripcion.Estudiante.FormaPago, SubPeriodo.Nombre);
 
      ViewBag.Cuotas = FormatoInscripcion.Estudiante.FormaPago.Cuotas();
 
      return new PdfActionResult(FormatoInscripcion);
    }
 
Esta es la vista que renderiza en PDF
 
@model CEUniversidadAztecaMVC.Models.FormatoInscripcion
@{
  Layout = null;
  var imagePath = Server.MapPath("~/Content/img");
}
<!DOCTYPE html>
<html>
<head>
  <title>SOLICITUD DE INSCRIPCIÓN</title>
  <style>
    body
    {
      font-size: 0.64em;
      font-family: "Trebuchet MS",Verdana,Helvetica,Sans-Serif;
      color: #696969;
    }
 
    table
    {
      font-size: 10.2333px;
      border: 1px solid #E8EEF4;
      border-collapse: collapse;
      width: 100%;
    }
 
      table thead tr th, table tr th
      {
        padding: 3px;
        text-align: left;
        background-color: #E8EEF4;
        border: 1px solid #E8EEF4;
      }
 
      table tbody tr td, table tr td
      {
        padding: 1px;
        text-align: center;
        border: 1px solid #E8EEF4;
      }
 
    .display-field,
    .editor-field
    {
      margin: 0.5em 0 0 0;
    }
 
    .print-label {
      page-break-before: always ;
    }
  </style>
</head>
<body>
  <img src="@imagePath\LogoAzteca.png" alt="Logo" />
  <div class="display-field">SOLICITUD DE INSCRIPCION</div>
  <table>
    <thead>
      <tr>
        <th>APELLIDO PATERNO,APELLIDO MATERNO,NOMBRE(S)</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          @Model.NombreCompleto
        </td>
      </tr>
    </tbody>
  </table>
  <table>
    <thead>
      <tr>
        <th>TURNO</th>
        <th>LICENCIATURA</th>
        <th>MATRICULA</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          @Model.Turno
        </td>
        <td>
          @Model.Licenciatura
        </td>
        <td>
          @Model.Matricula
        </td>
      </tr>
    </tbody>
  </table>
  <table>
    <thead>
      <tr>
        <th>ESTADO CIVIL</th>
        <th>SEXO</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.EstadoCivil) ? Model.EstadoCivil : "&nbsp;"))
        </td>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.Sexo) ? Model.Sexo : "&nbsp;"))
        </td>
      </tr>
    </tbody>
  </table>
  <table>
    <thead>
      <tr>
        <th>LUGAR DE NACIMIENTO</th>
        <th>FECHA DE NACIMIENTO</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.LugarNacimiento) ? Model.LugarNacimiento : "&nbsp;"))
        </td>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.FechaNacimiento) ? Model.FechaNacimiento : "&nbsp;"))
        </td>
      </tr>
    </tbody>
  </table>
  <table>
    <thead>
      <tr>
        <th>DIRECCIÓN</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.DireccionCompleta) ? Model.DireccionCompleta : "&nbsp;"))
        </td>
      </tr>
    </tbody>
  </table>
  <table>
    <thead>
      <tr>
        <th>TELÉFONO DE CASA</th>
        <th>TELÉFONO CELULAR</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.TelefonoCasa) ? Model.TelefonoCasa : "&nbsp;"))
        </td>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.TelefonoCelular) ? Model.TelefonoCelular : "&nbsp;"))
        </td>
      </tr>
    </tbody>
  </table>
  <table>
    <thead>
      <tr>
        <th>CURP</th>
        <th>CORREO PERSONAL</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.CURP) ? Model.CURP : "&nbsp;"))
        </td>
        <td>
          @(Html.Raw(!String.IsNullOrEmpty(Model.Correo) ? Model.Correo : "&nbsp;"))
        </td>
      </tr>
    </tbody>
  </table>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Nilo Ricardo (9 intervenciones) el 14/05/2014 14:58:15
Buen dia.

FRANCISCO JAVIER...

Disculpa pero aun no entiendo la solucion que me entregas.

El deseo es colocar en mi pdf que estoy contruyendo un pie de pagina y el encabezado y al pie de pagina colocar el numero de la pagina.

Desde ya muchas gracias por el apoyo que me puedas brindar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Francisco Jaiver (11 intervenciones) el 20/05/2014 23:09:24
Lo que muestro es una forma de generar un pdf, el html que ves es lo que convierte en pdf, entonces ahi puedes pasar los datos que necesites a través del Model.

Si no lo ves claro, te envío un ejemplo es realmente sencillo. Desde Visual Studio usa Nuget para instalar MvcToPDF

Con eso tienes las librerías necesarias para convertir el HTML a PDF entonces en tu HTML puedes colocar lo que tu requieras, en mi ejemplo no se si puedes verlo claro, pero se puede observar que paso a través de ViewBag información que pinto después en el código HTML. Al final me muestra en el navegador el PDF con todo el resultado.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Nilo Ricardo (9 intervenciones) el 21/05/2014 17:18:18
FRANCISCO..... Nuevamente, en espera de tu apoyo, con este codigo que estas viendo.... en que y cual linea de codigo puedo colocar un cabezote y un pie de pagina y desde ese pie de pagina el numero.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
try {
 
// Paso 1: Establecemos el tipo de Hoja y sus márgenes. Document document = new Document(PageSize.LETTER, 50, 50, 30, 15); 
 
// Paso 2: Creamos el obejeto PdfWriter especificandolo de salida. MemoryStream output = new MemoryStream(); PdfWriter writer = PdfWriter.GetInstance(document, output); 
 
// Paso 3: Abrimos el documento para escritura document.Open();
 
#region Pagina 1 ////CONTENIDO.... 
 
document.NewPage();
 
#endregion 
 
//Paso 8: Cerramos el documento document.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", string.Format("attachment;filename=Impresion_Autoevaluados_" + ddets_codigo.SelectedValue.ToString() + '_' + System.DateTime.Now.ToString("dd'_'MM'_'yyyy'_'h'_'mm'horas'") + ".pdf")); 
 
 
//Paso 9: Se procede a descargar el documento. Response.BinaryWrite(output.ToArray());
 
}
 
catch (Exception ex)
{
 
 throw ex;
 
}


DE ANTEMANO muchas gracias en lo que me puedas apoyar.

nayala
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear pdf con iTextSharp

Publicado por Richard Costa rcosta99@gmail.com (1 intervención) el 27/11/2014 18:16:36
Buenas tardes Francisco, un favor estoy usando MVC y tiene una funcionalida cuyo objetivo es pasar una pagina Html que tiene Estilos incluidos a un pdf, estoy utilizando RazorPDF y me genera error y por lo que pude averiguar este componente no acepta estilos, me llamo la atención el ejemplo que publicas que por lo que veo en la vista tiene estilos incluidos y alparecer no te genera error, por lo tanto te solicito de tu valiosa ayuda si me puedes ayudar enviandome al correo un proyecto de ejemplo, gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar