PDFsharp & MigraDoc Foundation

PDFsharp - A .NET library for processing PDF & MigraDoc Foundation - Creating documents on the fly
It is currently Thu Mar 28, 2024 2:03 pm

All times are UTC


Forum rules


Please read this before posting on this forum: Forum Rules



Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Tue Dec 29, 2020 10:54 pm 
Offline

Joined: Tue Dec 29, 2020 10:45 pm
Posts: 2
Hi! I have generated PDF from HTML using PDFSharp, all images are from stream

Code:
   
        var pngBinaryDataLogoLeft = File.ReadAllBytes(folderPath + "logo.png");
        var ImgDataURILogoLeft = @"data:image/png;base64," + Convert.ToBase64String(pngBinaryDataLogoLeft);
        html = html.Replace("[logoLeft]", ImgDataURILogoLeft);

        var pngBinaryDataBGImg = File.ReadAllBytes(folderPath + "background.png");
        var ImgDataURIBGImg = @"data:image/png;base64," + Convert.ToBase64String(pngBinaryDataBGImg);
        html = html.Replace("[BGImg]", ImgDataURIBGImg);

        var config = new PdfGenerateConfig();
        config.PageOrientation = PageOrientation.Landscape;
        config.PageSize = PdfSharpPageSize.A4;

        string cssStr = File.ReadAllText(folderPath + "1.css");
        CssData css = PdfGenerator.ParseStyleSheet(cssStr);

        PdfSharp.Pdf.PdfDocument pdf = PdfGenerator.GeneratePdf(html, config, css);

        MemoryStream stream = new MemoryStream();
        pdf.Save(stream, false);
        byte[] bytes = stream.ToArray();

        File.WriteAllBytes(folderPath + "document.pdf", bytes);


In my HTML the img get replaced by stream are working fine

Code:
<img class="logo-left" src="[logoLeft]" />



But the background image doesn't work:

Code:
<body style="background: url('[BGImg]')">



I don't have the image from a URL as it's from database (saved as stream)

I also tried to add the background image first to a new PDF page like below:

Code:
XGraphics gfx = XGraphics.FromPdfPage(pdf.Pages[0]);
XImage image = XImage.FromFile(bgImgPath);
gfx.DrawImage(image, x, y, width, height);


But then I couldn't add the content from HTML to the same page

If someone could please help thanks!!


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 04, 2021 9:12 am 
Offline
PDFsharp Expert
User avatar

Joined: Wed Dec 09, 2009 8:59 am
Posts: 339
Read this: http://forum.pdfsharp.net/viewtopic.php?f=2&t=832

_________________
Öhmesh Volta ("() => true")
PDFsharp Team Holiday Substitute


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 04, 2021 9:14 am 
Offline
PDFsharp Expert
User avatar

Joined: Sat Mar 14, 2015 10:15 am
Posts: 909
Location: CCAA
kris wrote:
If someone could please help thanks!!
You do not use PDFsharp, you use HTML Renderer. Not our product, but maybe someone here can help.

_________________
Best regards
Thomas
(Freelance Software Developer with several years of MigraDoc/PDFsharp experience)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 153 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Privacy Policy, Data Protection Declaration, Impressum
Powered by phpBB® Forum Software © phpBB Group