Quantcast
Channel: Telerik Forums RSS
Viewing all articles
Browse latest Browse all 78072

RadFlowDocument export to pdf - images position on page

$
0
0

I have to put 2 tif images on same page, one is regular "check" size,  other is "T4" doc size ...
Page orientation is landscape I did calculation , resizes images, everything works great ... BUT
"check image" position is on the bottom of page ?

I need it on top of page. Tried all alignments etc but did not figure out .

 I attached PDF page [as JPG] .

This is simple class that produced PDF.

 

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Windows.Documents.Flow.FormatProviders.Pdf;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Windows.Documents.Flow.Model.Editing;
using Telerik.Windows.Documents.Flow.Model.Styles;
using Telerik.Windows.Documents.Spreadsheet.Model;
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using System.IO;

 namespace TEST{

class TELERIK_WordProcessing_PDFTest
{

public void ExportToPdf(string PdfURL)
{
Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider provider =
new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();
using (Stream output = File.OpenWrite(PdfURL))
{
Telerik.Windows.Documents.Flow.Model.RadFlowDocument document = CreateRadFlowDocument();
provider.Export(document, output);
}
}
private Telerik.Windows.Documents.Flow.Model.RadFlowDocument CreateRadFlowDocument()
{
RadFlowDocument document = new RadFlowDocument();
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);
editor.ParagraphFormatting.TextAlignment.LocalValue = Alignment.Justified;
Section section = editor.InsertSection();
section.PageMargins = new Telerik.Windows.Documents.Primitives.Padding(4);
//LANDSCAPE format 11 x 8.5 inches
double landscapeWidth = 11 * 96; //1056.00 pixels
double landscapeHeith = 8.5 * 96; //816.00 pixels
section.PageSize = new System.Windows.Size(landscapeWidth, landscapeHeith);
section.PageOrientation = Telerik.Windows.Documents.Model.PageOrientation.Landscape;
section.VerticalAlignment = Telerik.Windows.Documents.Flow.Model.Styles.VerticalAlignment.Top;
//insert 2 images , regular check and T4 in row, one one page
string imageBackCheck = @"C:\temp\test\BACK.tif";
string imageT4 = @"C:\temp\test\FrontA4Page.tif";
//open image to find size
int width = 0;
int height = 0;
SingleImageSize(imageT4, out width, out height);
using (FileStream fileStream = File.OpenRead(imageT4))
{
editor.InsertImageInline(fileStream, "tif", new System.Windows.Size(width, height));
}
SingleImageSize(imageBackCheck, out width, out height);
using (FileStream fileStream = File.OpenRead(imageBackCheck))
{
editor.InsertImageInline(fileStream, "tif", new System.Windows.Size(width, height));
}
return document;
}
private void SingleImageSize(string URL, out int destWidthFirst, out int destHeightFirst)
{
//need to shrink tif image to fit page [ 2 images in row ]
destWidthFirst = 0;
destHeightFirst = 0;
System.Drawing.Image FrontImage = System.Drawing.Image.FromFile(URL);
int sourceWidthFirst = FrontImage.Width;
int sourceHeightFirst = FrontImage.Height;
float nPercent = GetPercentShrink(sourceWidthFirst);
destWidthFirst = (int)(sourceWidthFirst * nPercent);
destHeightFirst = (int)(sourceHeightFirst * nPercent);
}
private float GetPercentShrink(int SourceWidth)
{
//some custom size calculation for lanscape mode [note margin is 4], 523 is half of page
int nConstWidth = 523;// 527;
return (float)nConstWidth / (float)SourceWidth;
}
}

 

}


Viewing all articles
Browse latest Browse all 78072

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>