2011-05-22 107 views
7

Entonces, necesito un generador de PDF para mi aplicación ASP.NET. Descargué iTextSharp porque parece ser el gratuito más popular. Pero después de buscar en Internet, realmente no encuentro la información que necesito para comenzar. Los pocos tutoriales que he encontrado hasta ahora son muy confusos. Sé que hay un libro pero soy un estudiante y no quiero gastar el dinero. Solo necesito información paso a paso muy básica, preferiblemente con código en VB. El tutorial más básico que he encontrado hasta ahora es http://www.mikesdotnetting.com/Article/80/Create-PDFs-in-ASP.NET-getting-started-with-iTextSharp, pero no funciona para mí. Traté de seguirlo y se acercó con este código:cómo usar iTextSharp?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using iTextSharp.text; 
using iTextSharp.text.pdf; 
using System.IO; 


public partial class Default3 : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    var doc1 = new Document(); 
    string path = Server.MapPath("PDFs"); 
    PdfWriter.GetInstance(doc1, new FileStream(path + "/Doc1.pdf", FileMode.Create)); 
    doc1.Open(); 
    doc1.Add(new Paragraph("My first PDF")); 
    doc1.Close(); 
} 
} 

pero me da un error: "CS1502: El partido mejor método sobrecargado para 'iTextSharp.text.pdf.PdfWriter.GetInstance (iTextSharp.text. Document, System.IO.Stream) 'tiene algunos argumentos inválidos' y la línea resaltada es PdfWriter.GetInstance ...

Así que de todos modos, me preguntaba si alguien sabe qué hice mal en este tutorial, o qué otro tutoriales que puedo usar O si quieres darme una explicación básica de cómo comenzar en tus propias palabras, sería genial. Tenga en cuenta que desafortunadamente no sé absolutamente nada sobre esto. :) Gracias.

+0

¿Cuál es el otro mensaje de error? – SLaks

+0

CS1729: 'System.IO.FileStream' no contiene un constructor que tome 1 argumentos – Sara

+0

Este fragmento compila bien para mí usando iTextSharp v5.0.6.0 –

Respuesta

3

Es difícil de decir, pero voy a suponer que su doc ISN no es un iTextSharp.text.Document; Con todos esos comandos de "uso", es muy posible que hayas importado varias clases llamadas "Documento" y que estén recibiendo la incorrecta.

Usted debe ser capaz de utilizar el nombre completo para ver si eso es realmente el problema:

var doc1 = new iTextSharp.text.Document(); 

(Fair Warning: No sé vb.net, por lo que la sintaxis real podría ser muy diferente)

using correo no deseado va a crear problemas con colisiones de nombre tarde o temprano. "Más pronto" en este caso.

+0

¡Gracias, eso fue todo! – Sara

2

iTextSharp es un puerto directo desde Java iText library, por lo que puede consultar cualquiera de los documentos iText nativos y, por lo general, aplicarlos a C# y .NET.

La mejor documentación está en el libro iText in Action, pero puede descargar el libro example code del sitio web, y el core API docs también están disponibles en línea.

También hay algunos grandes ejemplos descargables .NET iTextSharp código fuente en este artículo CodeProject: