Tôi đang cố gắng tạo PDF ra khỏi trang HTML. CMS tôi đang sử dụng là EPiServer.Cần trợ giúp về việc tạo tệp PDF từ HTML bằng cách sử dụng itextsharp
Đây là mã của tôi cho đến nay:
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();
}
này kết quả đầu ra nội dung của tên bài viết, giới thiệu văn và cơ thể chính. Nhưng nó không phân tích cú pháp HTML trong văn bản bài viết và không có bố cục.
Tôi đã thử xem xét http://itextsharp.sourceforge.net/tutorial/index.html mà không cần bất kỳ điều gì khôn ngoan hơn.
Bất kỳ con trỏ để đi đúng hướng được đánh giá rất cao :)
Tuyệt vời. Cảm ơn. Có thể 'YourHtmlDocument.html' là URL của trang không? – Steven
PS. Tôi không nghĩ rằng phiên bản mới nhất của iTextSharp có HtmlParser. Gần nhất tôi nhận được nó 'iTextSharp.text.html.simpleparser.HTMLWorker' Nhưng sử dụng nó, yêu cầu một TextReader cho việc phân tích cú pháp ..... – Steven
@Steven - Bạn nói đúng! Xin lỗi về điều đó, tôi đã tải lên một chương trình thử nghiệm cũ (với một phiên bản cũ của iTextSharp) khi tôi trả lời câu hỏi của bạn. Bạn nói đúng, HTMLWorker là cách bạn muốn làm. Tôi đã chỉnh sửa phản hồi của mình dựa trên thử nghiệm (có giới hạn) mà tôi đã thực hiện với HTMLWorker và iTextSharp 5.0. –