Преобразование HTML-файла в PDF-файл с помощью ITextSharp

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

Зная путь к файлу 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"

Спасибо!


person Ben    schedule 08.12.2010    source источник
comment
Можете ли вы опубликовать код из вашей попытки?   -  person Simon    schedule 09.12.2010
comment
повторить, повторить, повторить вопрос   -  person Mark Storer    schedule 09.12.2010


Ответы (1)


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

person Soan    schedule 29.09.2011