PDFizer: как вставить картинку в сгенерированный PDF документ? - PullRequest
1 голос
/ 14 февраля 2012

Я использую библиотеку PDFizer для .NET отсюда - PDFizer , и мне нужна помощь ... как я могу преобразовать весь HTML-документ (включая изображения, хранящиеся в нем) в PDF с этой библиотекой?Теперь я могу создавать только PDF без изображений ...

1 Ответ

1 голос
/ 14 февраля 2012

После некоторого тестирования вам нужно сделать следующее:

  • Создайте папку, в которой у вас будут все ваши изображения.
  • Если у вас уже есть экземпляр Pdfizer.HtmlToPdfConverter, измените атрибут ImagePath, чтобы он указывал на папку, в которой находятся ваши изображения.
  • Включите теги <img> в ваш HTML-код.
  • Убедитесь, что изображения находятся в папке.

Примечание. Я попытался добавить файлы Png и получил ошибку преобразования. Вот пример, который я взял с сайта, который вы предоставили, плюс мои модификации:

System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
        sbHtml.Append("<html>");
        sbHtml.Append("<body>");
        sbHtml.Append("<font size='14'>My Document Title Line</font>");
        sbHtml.Append("<img src='trollface.jpg' />");
        sbHtml.Append("<br />");
        sbHtml.Append("This is my document text");
        sbHtml.Append("</body>");
        sbHtml.Append("</html>");




        //create file stream to PDF file to write to
        using (System.IO.Stream stream = new System.IO.FileStream

        (sPathToWritePdfTo, System.IO.FileMode.OpenOrCreate))
        {
            // create new instance of Pdfizer
            Pdfizer.HtmlToPdfConverter htmlToPdf = new Pdfizer.HtmlToPdfConverter();
            // open stream to write Pdf to to
            htmlToPdf.Open(stream);
            htmlToPdf.ImagePath = Server.MapPath(ResolveUrl("~/Images"));

            // write the HTML to the component
            htmlToPdf.Run(sbHtml.ToString());
            // close the write operation and complete the PDF file
            htmlToPdf.Close();
        }
    }

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...