2011-05-22 29 views
7

Yani, ASP.NET uygulamam için bir PDF üretecine ihtiyacım var. ITextSharp'ı indirdim çünkü en popüler ücretsiz olanı görünüyor. Ama internette arama yaptıktan sonra, beni başlatmaya başladığım bilgileri gerçekten bulamıyorum. Şimdiye kadar bulduğum birkaç ders çok kafa karıştırıcı. Orada bir kitap var biliyorum ama ben bir öğrenciyim ve parayı harcamak istemiyorum. Sadece VB'deki kodla, temel adım adım bilgilere ihtiyacım var. Şimdiye kadar bulduğum en temel öğretici http://www.mikesdotnetting.com/Article/80/Create-PDFs-in-ASP.NET-getting-started-with-iTextSharp, ama benim için çalışmıyor. Bunu takip etmeye çalıştım ve bu kod ile geldi:iTextSharp nasıl kullanılır?

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(); 
} 
} 

Ama bu bana bir hata veriyor: "CS1502: 'iTextSharp.text.pdf.PdfWriter.GetInstance (iTextSharp.text için en fazla yüklenmiş yöntem maçı. Document, System.IO.Stream) 'geçersiz bazı argümanlara sahiptir' ve vurgulanan satır PdfWriter.GetInstance ...

Neyse, bu eğitimde ne yanlış yaptığımı veya başka ne olduğunu bilen var mı? kullanabileceğim öğreticiler. Ya da kendi kelimelerinize nasıl başlayacağınıza dair basit bir açıklama yapmak isterseniz, bu harika olurdu. Unutmayın ki maalesef bunun hakkında hiçbir şey bilmiyorum. :) Teşekkürler.

+0

Diğer hata iletisine nedir? – SLaks

+0

CS1729: 'System.IO.FileStream', 1 bağımsız değişkene sahip bir kurucu içermiyor – Sara

+0

Bu snippet, iTextSharp v5.0.6.0 –

cevap

3

Söylemesi zor, ama ben senin doc ISN'de tahmin gidiyorum Bir iTextSharp.text.Document; Tüm bu "kullanma" komutları ile "Belge" adlı birden fazla sınıf ithal ettiniz ve yanlış olanı alıyorsunuz.

Bunu çok sorun olup olmadığını görmek için tam adını kullanmak mümkün olmalıdır:

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

(Adil Uyarı: gerçek sözdizimi Oldukça farklı olabilir bu yüzden, VB.NET bilmiyorum using spam, ad çakışmalarıyla ilgili olarak, er ya da geç sorunlar yaratıyor. Bu durumda "Sooner".

+0

Teşekkürler, buydu! – Sara

2

iTextSharp, Java iText library'dan gelen doğrudan bir bağlantı noktasıdır, böylece yerel iText belgelerinden birine başvurabilir ve bunları genellikle C# ve .NET'e uygulayabilirsiniz.

En iyi belge iText in Action kitabında, ancak kitabın example code web sitesinden indirebilir ve core API docs çevrimiçi olarak da edinebilirsiniz.

de bu CodeProject makalede bazı büyük indirilebilir NET İTextSharp kaynak kod örneği vardır:

İlgili konular