diff --git a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs index 25cfac4..b9b1a57 100644 --- a/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs +++ b/samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs @@ -70,6 +70,25 @@ public static void Main(string[] args) page.AddImage(forestImage, matrix); } }); + + using (var blurStream = File.OpenRead("Pexels_com/4k-wallpaper-blur-bokeh-1484253.jpg")) + using (var blurImage = SixLabors.ImageSharp.Image.Load(blurStream)) + { + var reusedImage = writer.AddImage(blurImage); + + for(int i = 0; i < 4; i++) + { + writer.AddPage(page => + { + page.MediaBox = mediaBox; + page.TrimBox = trimBox; + + var scale = (double)blurImage.Width / blurImage.Height; + + page.AddImage(reusedImage, new Rectangle(0, 0, scale * 303, 303, Unit.Millimeters)); + }); + } + } } } } diff --git a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs index 0b8425e..76e3f8e 100644 --- a/src/Synercoding.FileFormats.Pdf/PdfWriter.cs +++ b/src/Synercoding.FileFormats.Pdf/PdfWriter.cs @@ -88,7 +88,9 @@ public Image AddImage(SixLabors.ImageSharp.Image image) var pdfImage = new Image(id, image); - pdfImage.WriteToStream(_stream); + var position = pdfImage.WriteToStream(_stream); + + _tableBuilder.SetPosition(id, position); return pdfImage; }