HTML 페이지에서 PDF를 크레이트하려고합니다. 내가 사용하는 CMS는 EPiServer입니다.itextsharp를 사용하여 HTML에서 PDF를 만드는 데 도움이 필요합니다.
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();
}
이 기사 이름, 인트로 텍스트와 본체의 내용을 출력합니다
이 지금까지 내 코드입니다. 하지만 기사 텍스트에있는 HTML을 분석하지 않으며 레이아웃이 없습니다.
더 현명하지 않고 http://itextsharp.sourceforge.net/tutorial/index.html을 보았습니다. 올바른 방향으로
모든 포인터는 크게 감사합니다 :) iTextSharp 이후 버전
좋아요. 감사. 'YourHtmlDocument.html'을 페이지의 URL로 사용할 수 있습니까? – Steven
PS. 나는 iTextSharp의 최신 버전이 HtmlParser를 가지고 있다고 생각하지 않는다. 가장 가까운 곳은'iTextSharp.text.html.simpleparser.HTMLWorker'입니다.하지만이를 사용하려면 구문 분석을 위해 TextReader가 필요합니다 ..... – Steven
@Steven - 네가 맞아! 죄송합니다. 귀하의 질문에 답변 할 때 이전 테스트 프로그램 (이전 버전의 iTextSharp 포함)을로드했습니다. 당신 말이 맞아요, HTMLWorker는 당신이하고 싶은 방식입니다. 나는 HTMLWorker와 iTextSharp 5.0으로 수행 한 (제한된) 테스트를 기반으로 내 응답을 편집했습니다. –