2010-12-08 42 views
6

Tôi muốn thực hiện những điều sau:Chuyển đổi tập tin HTML sang file PDF sử dụng iTextSharp

Với tên đường dẫn của một tập tin html, và tên đường dẫn mong muốn của một tập tin pdf, chuyển đổi các tập tin HTML sang PDF sử dụng iTextSharp . Tôi đã nhìn thấy rất nhiều mẫu mã mà làm gần với điều này nhưng không chính xác những gì tôi cần. Tôi tin rằng giải pháp của tôi sẽ cần phải sử dụng hàm iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList() nhưng tôi gặp sự cố khi làm việc này với tệp HTML thực và xuất ra tệp PDF thực.

public void GeneratePDF(string htmlFileName, string outputPDFFileName) 
{...} 

là hàm tôi thực sự muốn hoạt động bình thường.

Cảm ơn trước

Sửa: Dưới đây là một ví dụ tôi đã về những gì tôi đã cố gắng:

iTextSharp.text.Document doc = new Document(); 
     PdfWriter.GetInstance(doc, new FileStream(Path.GetFullPath("fromHTML.pdf"), FileMode.Create)); 

     doc.Open(); 

     try 
     { 
      List<IElement> list = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(new StringReader(File.ReadAllText(this.textBox1.Text)), null); 
      foreach (IElement elm in list) 
      { 
       doc.Add(elm); 
      } 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

     doc.Close(); 

Lưu ý rằng textBox1.Text chứa tên đường dẫn đầy đủ của tập tin html tôi đang cố gắng chuyển đổi sang pdf và tôi muốn điều này xuất ra "từHTML.pdf"

Cảm ơn!

+0

bạn có thể đăng một số mã từ nỗ lực của mình không? – Simon

+3

[lặp lại câu hỏi lặp lại lặp lại] (http://stackoverflow.com/search?q=itextsharp+convert+html) –

Trả lời

2

Tôi đã có yêu cầu tương tự và được chuyển hướng đến trang này bởi Google nhưng không thể tìm thấy câu trả lời cụ thể. Nhưng sau khi một số đầu đánh và thử nghiệm, tôi đã có thể chuyển đổi thành công mã HTML sang PDF bằng thư viện iTextSharp 5.1.1. Mã mà tôi đã chia sẻ ở đây cũng quản lý các thẻ img trong HTML với các đường dẫn tương đối. Thư viện iTextSharp ném một lỗi nếu thẻ img của bạn không có src tuyệt đối. Bạn tìm mã ở đây: http://am22tech.com/s/22/Blogs/post/2011/09/28/HTML-To-PDF-using-iTextSharp.aspx

Hãy cho tôi biết nếu bạn cần thêm thông tin. Mã này nằm trong C#.

Các vấn đề liên quan