How do I add an image using WordsProcessing with the correct aspect ratio?
Environment
Product Version | 2021.2.728.1 |
Product | Telerik Document Processing |
Description
This article illustrates how you can insert an image in a RadFlowDocument instance and resize that image to fit into the page while keeping its aspect ratio.
Solution
Create an image and compare its size with the size available on the page. If the image is bigger, decrease its size:
Insert and resize image
RadFlowDocument document = new RadFlowDocument();
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);
Section section = editor.InsertSection();
section.PageSize = new Size(300, 500);
Image image = new ImageInline(document).Image;
image.ImageSource = new ImageSource(File.OpenRead(@"C:\Users\tdimitrova\Desktop\sample.png"), "png");
double availableWidth = section.PageSize.Width - section.PageMargins.Left - section.PageMargins.Right;
while (image.Width > availableWidth)
{
image.SetWidth(true, image.Width - 5);
}
editor.InsertImageInline(image.ImageSource, image.Size);