Telerik Forums
Telerik Document Processing Forum
3 answers
897 views

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;
}
}

 

}

Neven
Top achievements
Rank 2
 answered on 17 Feb 2016
1 answer
315 views

Hi,

 

I create several documents using word processing and finally merge them into a single one using RadFlowDocument.Merge method. When you open that document in Word and insert a header, the header will only be set for single merged documents and not consistently across the whole document.

To repro:

- Create 2 RadFlowDocuments, with a single page and some simple demo text

- Merge them into a single one

- Export the merged document as docx.

- Open the exported document in word and add some text to the header on page 1.

- Scroll down to page 2 and confirm that the header is not there.

 

I can't tell whether this is a bug or a feature, but is there a way to workaround this? Ultimately I just want to merge several documents into one and have consistent headers and footers across the whole document.

Thanks in advance

Florian

Tanya
Telerik team
 answered on 16 Feb 2016
1 answer
214 views
I am using the RadSpreadsheet component and I am filling it with data from code behind. I would like to resize only the 'used' columns to a width that fits the content from each column. Something like the AutoFitWidth(). 

I tried to use this method (AutoFitWidth()) in a ColumnSelection, however I could only use in all columns, not just the ones I used and I took more than 2 minutes to open my window... I don't want this... As I fill my spreadsheet from code behind, I don't know how many columns I am using... It depends on the settings the user chose before the window opens...

Is there any solution for this?
Deyan
Telerik team
 answered on 15 Feb 2016
1 answer
675 views

Hi,

 I try to do the following: 

1. Load .docx document into the RichTextBox

2. Let the user edit the document

3. Perform MailMerge on the document

4. Export the result as PDF witha compliance level PdfComplianceLevel.PdfA1B

 

Only the WordsProcessing library supports the compliance level, so I need to convert the RadDocument to a RadFlowDocument.

When I export the RadDocument from the RichTexBox back to .docx I somehow loose all the styles (See WordBefore.png, WordAfter.png).

When I export the RadDocument to .rtf, it keeps the correct styles, but when I import it using the Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider, I get the following Exception:

Message: The document element is already associated with a parent.
Parametername: item
 
StackTrace:   bei Telerik.Windows.Documents.Flow.Model.Collections.DocumentElementCollection`2.VerifyDocumentElementOnInsert(T item)
   bei Telerik.Windows.Documents.Core.Data.DocumentElementCollectionBase`2.Add(T item)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.Import.RtfImportContext.AddInline(InlineBase inline)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.Import.TagHandlers.GroupTagHandlers.BookmarkEndHandler(RtfGroup group, RtfImportContext context)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.Import.RtfDocumentImporter.DoVisitGroup(RtfGroup group)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.Import.RtfElementIteratorBase.VisitElement(RtfElement element, Boolean recursive)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.Import.RtfElementIteratorBase.VisitGroupChildren(RtfGroup group, Boolean recursive)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.Import.RtfDocumentImporter.ImportRoot(RtfGroup rtfGroup)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.Import.RtfDocumentImporter.Import(Stream input)
   bei Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider.ImportOverride(Stream input)
   bei Telerik.Windows.Documents.Common.FormatProviders.FormatProviderBase`1.Import(Stream input)
...

 Do you have any proposal for me how I can accomplish this?

Todor
Telerik team
 answered on 09 Feb 2016
2 answers
125 views

Hello,

I am trying to:

1 - Open a PDF created from Gridview's ExportToPdf function

2 - Draw a title on the page

3 - Save the PDF

When I run my code everything executes, but the final PDF is a blank page, but with the same length as the original PDF.

If I only open the page and then immediately save the PDF without attempting to draw on the page, the result is the same.

First, can PDFProcessing do this? I've heard that not all of your various PDF exports are compatible with all of the imports yet.

 If that is the case, do you have an alternate way for me to get some title text on the PDF file generated by GridView's ExportToPdf function?

 Thanks in advance,

 Scott

Scott
Top achievements
Rank 1
 answered on 03 Feb 2016
1 answer
786 views

I really like the Telerik DPL and I'm using RadFlowDocument with PdfFormatProvider to produce some much need PDFs, but I've got 2 major issues:

 

1). The tables (Table table = section.Blocks.AddTable();) don't seem to support any sort of Table Headers, I want it to simply repeat the table headers when it flows onto another page. Much like itextsharp's setHeaderRows(). Is this possible?

 

2) There doesn't seem to be any support for pages numbers in the footer?

 

Thanks,

Boby
Telerik team
 answered on 22 Jan 2016
2 answers
200 views

Hi there!

 So I'm using  kendo.drawing.drawDOM() to Export a <div> area on page to a PDF, this works great in my versions of Firefox and Chrome. However in IE 11, its not grabbing the backgrounds of a few divs in the area. This chart area is created problematically, and the "water bottle" columns are being shown based on a height that is calculated by the values...anyway. 

While testing, I determined it was most likely the  background-image that isn't getting pulled correctly. I added a new div with the same class and that one too, failed to be copied into the PDF. I tried swapping out the div with an <img> tag, and while that worked for the pdf export...I lost a bunch of the flexibility of having the image in a div. The image came out streched and generally not what I wanted.

Any ideas for what I can do to make this work in IE?

The html for each column looks something like this:

<div class="WaterBottleColumn" style="background-image: url(../../Content/Images/waterBottlesSmall.png);height: 32px;" title="8,473 water bottle equivalents"></div>

The CSS:

 div.WaterBottleColumn {
    background-repeat: no-repeat;
    background-position: center top;
    margin-left: auto;
    margin-right: auto;
}

 I did have the background-image declared in the CSS class, but I moved it when I was troubleshooting. 

 

Thanks!

Jeff
Top achievements
Rank 1
 answered on 18 Jan 2016
2 answers
452 views

Hello

Will some day PDFProcessing support theader/tfoot tags?

Another thing, an error occurs when you try to convert this html: https://goo.gl/PgMWsB

Thanks

Maurício
Top achievements
Rank 1
 answered on 18 Jan 2016
4 answers
154 views
Hi,

I red all documentation and all forum's threads and didn't find a complete workable example that compress/decompress a stream . Every founded examples did not work well. Is it possible to have a complete example closer to a cut and paste?

Regards,

I put my code here. It compresses but the decompression is not functionnal:
Public Class Class1
  
    Dim msCompress As Stream
  
    Public Function Compression(arg As String) As String
        Dim encoding As New System.Text.UTF8Encoding()
        Dim B() As Byte = encoding.GetBytes(arg)
        msCompress = New MemoryStream()
  
        Dim method As ZipCompression = DirectCast([Enum].Parse(GetType(ZipCompression), ZipCompression.Deflate64, False), ZipCompression)
        Dim zipOut As New ZipOutputStream(msCompress, method)
        Dim sWriter As New StreamWriter(zipOut)
  
        sWriter.Write(B)
        sWriter.Flush()
  
        Return ("Compress: " & zipOut.CompressedSize.ToString & ", Uncompress:" & zipOut.UncompressedSize.ToString)
  
    End Function
  
    Public Function Decompression(arg As String) As String
        Dim encoding As New System.Text.UTF8Encoding()
        msCompress.Position = 0
        Dim inputStream As New ZipInputStream(msCompress, False)
        Dim s As String
        Dim Reader As New StreamReader(inputStream.BaseStream, encoding)
        s = Reader.ReadToEnd()
  
        Return s
    End Function
End Class
Nikolay Demirev
Telerik team
 answered on 15 Jan 2016
1 answer
930 views

Hi,

I am working on a project to programmatically create reports using RadFlowDocument. I could not find a way to add page number to footer of the document.

I came across this link: http://www.telerik.com/forums/adding-page-number-in-the-footer. But it shows how to add page number from the RadRichTextBox using RadDocument.

I would appreciate if you can help me with this.

Thanks,

Sujan

Tanya
Telerik team
 answered on 04 Jan 2016
Narrow your results
Selected tags
Tags
+? more
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?