Конвертировать HTML-файл в PDF-файл, используя ITextSharp - PullRequest
7 голосов
/ 09 декабря 2010

Я бы хотел сделать следующее:

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

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

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

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

Редактировать : Вот пример того, что я пробовал:

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, который я пытаюсь преобразовать в pdf, и я хочу, чтобы он получал вывод в "fromHTML.pdf"

Спасибо!

1 Ответ

1 голос
/ 29 сентября 2011

У меня было такое же требование, и я перешел на эту страницу 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 #.

...