У меня есть файл PNG, который используется в качестве шаблона, затем я использую PDFSharp.Drawing для записи по изображению, которое, в свою очередь, дает сертификат в виде PDF, как показано ниже:Сохранить файл PDF, созданный с помощью кода
PdfDocument document = new PdfDocument();
document.Info.Title = "Created with PDFsharp";
// Create an empty page
PdfPage page = document.AddPage();
page.Width = 419;
page.Height = 595;
page.Orientation = PdfSharp.PageOrientation.Landscape;
// Get an XGraphics object for drawing
XGraphics gfx = XGraphics.FromPdfPage(page);
// Draw background
gfx.DrawImage(XImage.FromFile(Server.MapPath("~/Content/Images/Certificate/MyCertificate.png")), 0, 0, 595, 419);
// Create fonts
XFont font = new XFont("Verdana", 20, XFontStyle.Regular);
// Draw the text and align on page.
gfx.DrawString("Name", font, XBrushes.Black, new XRect(0, 77, page.Width, 157), XStringFormats.Center);
Это может открыть это в моем PDF-приложении по умолчанию (Edge в моем случае), и я могу сохранить его там, но когда я пытаюсь сохранить его с сайта, а не с помощью программы просмотра PDF, я сохраняю только шаблон, а не любой текст, который написан поверх.
Мой код, чтобы сохранить файл здесь:
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition", "attachment; filename=MyCertificate.pdf");
Response.TransmitFile(Server.MapPath("~/Content/Images/Certificate/MyCertificate.png"));
Response.End();
Я абсолютно уверен, что причина, я только сохранение шаблона, потому что я установил MapPath сервера на местоположение шаблона, но готовый сертификат никогда не сохраняется на нашей стороне.
Как сохранить PDF (с текстом), а не только шаблон, если он не сохранен нигде перед собой на моей стороне?
Спасибо.
Почему вы отправляете 'png' клиенту? – Xaqron