2010-12-08 7 views
6

Я хотел бы выполнить следующее:Преобразование HTML файл в PDF-файл с помощью ITextSharp

Учитывая путь и имя HTML-файла, и нужный путь файла PDF, конвертировать файл HTML в PDF с помощью ITextSharp , Я видел множество примеров кода, которые близки к этому, но не совсем то, что мне нужно. Я считаю, что моему решению потребуется использовать функцию iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(), но у меня возникли проблемы с тем, чтобы она работала с фактическим файлом HTML и выводила фактический файл PDF.

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

- это функция, которую я действительно хотел бы получить правильно.

Заранее спасибо

Edit: Вот пример, который я имею, что я пробовал:

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

Обратите внимание, что TextBox1.Text содержит полный путь к HTML-файла I Я пытаюсь преобразовать в pdf, и я хочу, чтобы это получилось на «fromHTML.pdf»

Спасибо!

+0

Может ли вы отправить какой-либо код из своей попытки? – Simon

+3

[повторить повтор повторения вопроса] (http://stackoverflow.com/search?q=itextsharp+convert+html) –

ответ

2

У меня было такое же требование и был отклонен на эту страницу компанией Google, но не нашел конкретного ответа. Но после некоторых ударов головой и испытаний я смог успешно преобразовать HTML-код в PDF, используя библиотеку iTextSharp 5.1.1. Код, который я поделил здесь, также обрабатывает теги img в HTML с относительными путями. Библиотека iTextSharp выдает ошибку, если ваши теги img не имеют абсолютного src. Вы найдете код: http://am22tech.com/s/22/Blogs/post/2011/09/28/HTML-To-PDF-using-iTextSharp.aspx

Сообщите мне, если вам нужна дополнительная информация. Код находится в C#.