как сохранить внешний вид при конвертации HTML в PDF - PullRequest
3 голосов
/ 09 апреля 2009

Я использовал iTextSharp для преобразования HTML в PDF, в целом он работает довольно хорошо, но, похоже, он не похож на большую часть форматирования.

Жирный шрифт, курсив и подчеркивание не работают, однако ни один из размеров, стилей или другой информации не учитывается, поэтому экспорт не очень похож на HTML, который использовался для создания формата. 1003 *

Кто-нибудь знает, как либо

  • исправьте способ экспорта iTextSharp (ниже приведен пример моего кода)
  • Или знаете другой продукт, который предоставляет такую ​​функциональность и не разоряет банк?

Это мой код:

//Do the PDF thing
Document document = new Document(PageSize.A4);
using (Stream output = new FileStream(Server.MapPath(relDownloadDoc), FileMode.Create, FileAccess.Write, FileShare.None))
using (Stream htmlStream = new FileStream(Server.MapPath(relProcessingDoc), FileMode.Open, FileAccess.Read, FileShare.Read))
using (XmlTextReader reader = new XmlTextReader(htmlStream))
{
    reader.WhitespaceHandling = WhitespaceHandling.None;
    PdfWriter.GetInstance(document, output);
    document.Open();
    Console.ReadLine();
    HtmlParser.Parse(document, reader);
    document.Close();
}

Ответы [ 4 ]

3 голосов
/ 31 августа 2009

Попробуйте WKHTMLTOPDF.

Это реализация webkit с открытым исходным кодом. Оба бесплатны.

Мы установили небольшой учебник здесь

1 голос
/ 09 апреля 2009

От Конвертировать HTML + CSS в PDF с PHP? Я узнал о Prince XML , который имеет клиентов для множества языков , включая платформу .Net .

Это исключительный конвертер, хотя коммерческий и не дешевый. Об этом есть Google Tech Talk . Предположительно, Google использует его для Google Документов . Его движок рендеринга также прошел тест Acid2.

Если вы хотите высококачественное преобразование HTML в PDF и готовы потратить ~ 3800 долларов на лицензию на сервер, не смотрите дальше. Честно говоря, я думаю, что затраты времени на то, чтобы сделать что-то еще, чем принц, быстро превзойдут затраты. Время разработки дорого.

0 голосов
/ 09 апреля 2009

ActivePDF стоит 375 долларов за лицензию на один сервер и отлично работает. Мы уже использовали в клиентских проектах, и это было здорово.

http://www.activepdf.com/products/serverproducts/webgrabber/index.cfm

РЕДАКТИРОВАТЬ : Неважно, это зависит от другого продукта, который стоит 1400 долларов. Думал, что это обойдется дешевле, чем некоторые другие предложения. Еще несколько минут исследования предложили следующие альтернативы:

Менее 500 долларов:

http://www.websupergoo.com/abcpdf-1.htm (Вам понадобится профессиональное издание, чтобы сохранить как можно больше форматирования).

0 голосов
/ 09 апреля 2009

Я использовал pd4ml для нескольких вещей. Кажется, работает довольно хорошо.

Вот список HTML-тегов / атрибутов, которые поддерживает pd4ml: http://pd4ml.com/html.htm

...