Bir HTML sayfasından PDF'leri kopyalamaya çalışıyorum. Kullanmakta olduğum CMS EPiServer'tır.HTML'den PDF oluştururken yardıma ihtiyacınız var itextsharp
protected void Button1_Click(object sender, EventArgs e)
{
naaflib.pdfDocument(CurrentPage);
}
public static void pdfDocument(PageData pd)
{
//Extract data from Page (pd).
string intro = pd["MainIntro"].ToString(); // Attribute
string mainBody = pd["MainBody"].ToString(); // Attribute
// makae ready HttpContext
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/pdf";
// Create PDF document
Document pdfDocument = new Document(PageSize.A4, 80, 50, 30, 65);
//PdfWriter pw = PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
PdfWriter.GetInstance(pdfDocument, HttpContext.Current.Response.OutputStream);
pdfDocument.Open();
pdfDocument.Add(new Paragraph(pd.PageName));
pdfDocument.Add(new Paragraph(intro));
pdfDocument.Add(new Paragraph(mainBody));
pdfDocument.Close();
HttpContext.Current.Response.End();
}
Bu makale adı, intro-metin ve ana gövdenin içeriği çıkarır:
Bu benim defa kodudur. Ancak, makale metninde bulunan HTML yoktur ve düzen yoktur.
Herhangi bir bilge olmadan http://itextsharp.sourceforge.net/tutorial/index.html'a bakmayı denedim. Doğru yöne
Herhangi işaretçiler büyük takdir :) iTextSharp sonraki sürümlerinde için
Harika. Teşekkürler. YourHtmlDocument.html, sayfanın URL'si olabilir mi? – Steven
PS. ITextSharp'ın en yeni sürümünün HtmlParser olduğunu düşünmüyorum. En yakın ben 'iTextSharp.text.html.simpleparser.HTMLWorker' Ama bunu kullanarak, ayrıştırma için bir TextReader gerektirir ..... – Steven
@Steven - Haklısınız! Maalesef, sorunuzu yanıtladığımda eski bir test programını (eski bir iTextSharp sürümü ile) yükledim. Yine de haklısınız, HTMLWorker yapmak istediğiniz yoldur. Yanıtımı HTMLWorker ve iTextSharp 5.0 ile yaptığım (sınırlı) testlere dayanarak düzenledim. –