Skip to content

Commit f45c12c

Browse files
authored
Merge pull request #30 from synercoder/fixes/reuse-image-bug
Saved image position to xRef table
2 parents d59c112 + c45d420 commit f45c12c

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

samples/Synercoding.FileFormats.Pdf.ConsoleTester/Program.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,25 @@ public static void Main(string[] args)
7070
page.AddImage(forestImage, matrix);
7171
}
7272
});
73+
74+
using (var blurStream = File.OpenRead("Pexels_com/4k-wallpaper-blur-bokeh-1484253.jpg"))
75+
using (var blurImage = SixLabors.ImageSharp.Image.Load(blurStream))
76+
{
77+
var reusedImage = writer.AddImage(blurImage);
78+
79+
for(int i = 0; i < 4; i++)
80+
{
81+
writer.AddPage(page =>
82+
{
83+
page.MediaBox = mediaBox;
84+
page.TrimBox = trimBox;
85+
86+
var scale = (double)blurImage.Width / blurImage.Height;
87+
88+
page.AddImage(reusedImage, new Rectangle(0, 0, scale * 303, 303, Unit.Millimeters));
89+
});
90+
}
91+
}
7392
}
7493
}
7594
}

src/Synercoding.FileFormats.Pdf/PdfWriter.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,9 @@ public Image AddImage(SixLabors.ImageSharp.Image image)
8888

8989
var pdfImage = new Image(id, image);
9090

91-
pdfImage.WriteToStream(_stream);
91+
var position = pdfImage.WriteToStream(_stream);
92+
93+
_tableBuilder.SetPosition(id, position);
9294

9395
return pdfImage;
9496
}

0 commit comments

Comments
 (0)