HTML в PDF в c # - PullRequest
       4

HTML в PDF в c #

2 голосов
/ 13 октября 2010

Я пытаюсь создать приложение, которое преобразует файл из формата HTML в формат PDF.

Подход, который я использую:

  1. HTML в XHTML
  2. XHTML для форматирования объекта
  3. Форматирование объекта в PDF

У меня небольшие проблемы со всем XHTML для FO (или xsl).

Подскажите, пожалуйста, как преобразовать XHTML в FO?

Или, может быть, другой подход ко всему HTML в PDF?

Спасибо, Каталин

Ответы [ 4 ]

1 голос
/ 13 октября 2010

Много искал для моего личного проекта приложения стека SO2PDF и, наконец, остановился на wkhtmltopdf , который на данный момент является лучшим бесплатным инструментом для преобразования HTML в PDF.Да, я использовал это с C #; -)

1 голос
/ 10 июня 2017

У меня есть самый простой способ написать html в pdf-код, используя библиотеку NRerco Pdf, которая доступна бесплатно, установить пакет nuget

PM> Install-Package NReco.PdfGenerator

   Create HtmltoPdf()
   {
   if (System.IO.File.Exists("HTMLFile.html"))
    {
        System.IO.File.Delete("HTMLFile.html");
    }

    System.IO.File.WriteAllText("HTMLFile.html", html);
    var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
    if (System.IO.File.Exists("export.pdf"))
    {
        System.IO.File.Delete("export.pdf");
    }

    htmlToPdf.GeneratePdfFromFile("HTMLFile.html", null, "export.pdf");
 }
1 голос
/ 13 октября 2010

Ну, вы могли бы использовать конвертер HTML в PDF через оболочку, извините, я не могу вспомнить название того, которое я использовал в прошлом, если у вас есть Google, вы сможете найти хороший.

0 голосов
/ 08 февраля 2018

Вот другой подход.Мы собираемся конвертировать HTML / XML в PDF напрямую с помощью инструмента 3d party (он имеет несколько настроек и настроек конвертации и не требует каких-либо внешних библиотек).

1) Скачать бесплатно HTML в PDFSDK из her (это просто PDF SDK)

2) Используйте следующий код или запустите Action Center для настройки преобразования

using BCL.easyPDF.Printer;

namespace TestPrinter
{
   class Program
   {
      static void Main(string[] args)
      {
         if(args.Length != 2)
            return;

         string inputFileName = args[0];
         string outputFileName = args[1];
         Printer printer = new Printer();
         try
         {
            IEPrintJob printjob = printer.IEPrintJob;
            printjob.PrintOut(inputFileName, outputFileName);
         }
         catch(PrinterException ex)
         {
            System.Console.WriteLine(ex.Message);
         }
         finally
         {
            printer.Dispose();
         }
      }
   }
}

Изображение: HTML в PDF C # API - Центр поддержки

...