Изображения не отображаются в созданном PDF-файле - PullRequest
0 голосов
/ 19 июня 2020

У меня есть страница HTML, отображаемая через ASP. NET. Когда я создаю PDF-файл с помощью HtmlRenderer.PdfSharp, изображения отображаются в PDF-файле как красный крестик (отсутствующее изображение), а остальная часть HTML отображается правильно. Изображения не являются ссылками, это бинарные объекты.

private void PdfFormat(string _body, ref MemoryStream _stream)
{
    Bitmap bitmap = new Bitmap(790, 1800);
    Graphics g = Graphics.FromImage(bitmap);
    XGraphics xg = XGraphics.FromGraphics(g, new XSize(bitmap.Width, bitmap.Height));

    TheArtOfDev.HtmlRenderer.PdfSharp.HtmlContainer container = new TheArtOfDev.HtmlRenderer.PdfSharp.HtmlContainer();
    container.SetHtml(_body);

    PdfDocument pdf = new PdfDocument();
    PdfPage page = new PdfPage();
    XImage img = XImage.FromGdiPlusImage(bitmap);
    pdf.Pages.Add(page);
    XGraphics xgr = XGraphics.FromPdfPage(pdf.Pages[0]);
    container.PerformLayout(xgr);
    container.PerformPaint(xgr);
    xgr.DrawImage(img, 0, 0);
    pdf.Save(_stream, false);
}

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

проблема была в расшифрованном теле, а не в генераторе pdf. закроет эту проблему и откроет новую.

0 голосов
/ 19 июня 2020

Вы можете использовать html2canvas, это наверняка решит вашу проблему.

const doc = new jsPDF();
        var canvasElement = document.createElement('canvas');
         html2canvas(this.$refs.content, { canvas: canvasElement 
           }).then(function (canvas) {
         const img = canvas.toDataURL("image/jpeg", 0.8);
         doc.addImage(img,'JPEG',30,20);
         doc.save("pdfName.pdf");
        });

Не забудьте импортировать:

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