Telerik Forums
Telerik Document Processing Forum
1 answer
442 views
I tried to user your product and I have a problem.
I tried the following code to DigitalSign document and it says:
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll

Additional information: Stream does not support reading.
Please help me what is problem?
Thank you
 X509Certificate2 certificate = new X509Certificate2("JohnDoe.pfx", "johndoe");
            // The name of the signature must be unique.
            string signatureName = "SampleSignature";

            // This is the Form XObject element that represents the contents of the signature field.
            Telerik.Windows.Documents.Fixed.Model.Objects.Form form = new Telerik.Windows.Documents.Fixed.Model.Objects.Form();
            form.FormSource = new FormSource();
            form.FormSource.Size = new System.Windows.Size(120, 120);

            // We will use the editor to fill the Form XObject.
            FixedContentEditor formEditor = new FixedContentEditor(form.FormSource);
            formEditor.DrawCircle(new System.Windows.Point(50, 50), 20);
            formEditor.DrawText(signatureName);

            // The Signature object is added to a signature field, so we can add a visualization to it.
            SignatureField signatureField = new SignatureField(signatureName);
            signatureField.Signature = new Signature(certificate);

            // The widget contains the Form XObject and defines the appearance of the signature field.
            SignatureWidget widget = signatureField.Widgets.AddWidget();
            widget.Rect = new Rect(new System.Windows.Point(200, 600), new System.Windows.Size(100, 100));
            widget.Border = new AnnotationBorder(10, AnnotationBorderStyle.Solid, null);
            widget.Content.NormalContentSource = form.FormSource;
            widget.RecalculateContent();

            // The Widget class inherits from Annotation. And, as any other annotation, must be added to the respective collection of the page.

            RadFixedDocument document = new RadFixedDocument();
            RadFixedPage page = document.Pages.AddPage();
            page.Annotations.Add(widget);
            document.AcroForm.FormFields.Add(signatureField);

            using (Stream stream = File.OpenWrite("signed.pdf"))
            {
                new PdfFormatProvider().Export(document, stream);
            }
Martin
Telerik team
 answered on 27 Dec 2018
1 answer
574 views

Hi,

I've created a word document that I use with WordsProcessing to mail merge. In the document I've had to use tables to be able to get left and right alignments of blocks of text (seems Word's TextBox isn't supported within WordsProcessing?). The tables solution works and allows me to produce a document as per the attached. However, when I try to convert to produced word document to PDF the document comes out with additional borders on the tables (where certain cell borders have been set to none within the word document). The best way to see this is to create a word document with a table of one row with three columns. For the first column make it so that the borders surround the cell (top, left, right bottom). Do the same for the last column. For the second (middle) column remove the top and bottom borders. The document should now show two boxes, one on the left and one on the right (see attached image as an example). Take this Word Document and then convert it to PDF on the demo (https://demos.telerik.com/aspnet-mvc/wordsprocessing/pdf-export). You'll see when comparing the word document and the converted PDF document what the issue is, in that the middle cell of the table renders with the top and bottom border (which is not present in the word document). Is this a limitation of the PDFProcessing? If so is there another way to construct a word document to achieve the same result both for mail merging in WordsProcessing and converting the subsequent document to PDF so that they render as intended?

Many thanks,

Neil

Peshito
Telerik team
 answered on 27 Dec 2018
3 answers
382 views

Hello, in an MVC application I need to convert a .docx that contains images into a pdf. My code below works if the docx does not contain an image. If the docx contains an image I get an object reference error when importing the document on this line: document = providerDocx.Import(stream);

 

            RadFlowDocument document = null;
            DocxFormatProvider providerDocx = new DocxFormatProvider();
            using (FileStream stream = File.Open(@"C:\\test\myWordDoc.docx", FileMode.Open))
            {
                document = providerDocx.Import(stream);

                var providerPdf = new PdfFormatProvider();

                Stream outStream = new MemoryStream();
                providerPdf.Export(document, outStream);

                //Test the conversion:
                var fileStream = File.Create(@"C:\\test\myWordDoc.pdf");
                outStream.Seek(0, SeekOrigin.Begin);
                outStream.CopyTo(fileStream);
                fileStream.Close();
            }

How can I convert an existing word document with images to a new pdf document?

Tanya
Telerik team
 answered on 13 Dec 2018
1 answer
986 views

     Hi,

I'm trying to use the RadFlowDocument in order to create a PDF document. I have successfully managed to use the examples provided in the documentation in order to import the body of my HTML into the document, however the examples for the header and footer do not make it clear how I would go about importing HTML in.

Below is the current state of my code. Unfortunately the header comes out as plain text, but the body is successfully processed. Any advise would be greatly received. 

 

public static byte[] GeneratePDF(DocumentTemplate doc)
        {            
            string body = "";
            body = doc.DocumentBody;

            HtmlFormatProvider provider = new HtmlFormatProvider();
            RadFlowDocument rfd = provider.Import(body);

            rfd.Sections.AddSection();

            Header defaultHeader = rfd.Sections.First().Headers.Add();
            Paragraph defaultHeaderParagraph = defaultHeader.Blocks.AddParagraph();
            defaultHeaderParagraph.Inlines.AddRun(doc.DocumentHeader);

            PdfFormatProvider provider2 = new PdfFormatProvider();
            
            using (MemoryStream output = new MemoryStream())
            {
                provider2.Export(rfd, output);
                return ReadToEnd(output);
            }
        }

Georgi
Telerik team
 answered on 12 Dec 2018
1 answer
1.1K+ views

I retrieve a PDF byte array from a web service.  How can I use PdfProcessing to display the byte array as a PDF document in a View?

 

Thanks.

Mike

Tanya
Telerik team
 answered on 05 Dec 2018
1 answer
195 views

I am attempting to give color of the particular text in the paragraph. But I am still failed. This is my code. Any help would be appreciated.

01.List list = document.Lists.Add(ListTemplateType.NumberedDefault);
02. 
03.                var section = document.Sections.AddSection();
04. 
05.                var paragraphTop = section.Blocks.AddParagraph();
06.                paragraphTop.Inlines.AddRun("Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph.");
07. 
08.                var paragraphTop1 = section.Blocks.AddParagraph();
09.                paragraphTop1.Inlines.AddRun("okeh <p color=\"red\">this is red color</p> <font color=\"red\">This is some text!</font>");
10. 
11. 
12.                var paragraph1 = section.Blocks.AddParagraph();
13.                paragraph1.Inlines.AddRun("Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph.");
14.                paragraph1.ListId = list.Id;
15.                paragraph1.ListLevel = 0;
16. 
17.                var paragraph2 = section.Blocks.AddParagraph();
18.                paragraph2.Inlines.AddRun("Line Two, Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph.");
19.                paragraph2.ListId = list.Id;
20.                paragraph2.ListLevel = 1;
21. 
22.                var paragraph3 = section.Blocks.AddParagraph();
23.                paragraph3.Inlines.AddRun("Line three, Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph.");
24.                paragraph3.ListId = list.Id;
25.                paragraph3.ListLevel = 1;
26. 
27.                var paragraph4 = section.Blocks.AddParagraph();
28.                paragraph4.Inlines.AddRun("Line four, Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph.");
29.                paragraph4.ListId = list.Id;
30.                paragraph4.ListLevel = 2;
31. 
32.                var paragraphBottom = section.Blocks.AddParagraph();
33.                paragraphBottom.Inlines.AddRun("Note that the numbering reference within the document content in the sample above contains a direct reference to the level to be applied because the <w:numPr> contains both the reference to the numbering definition (numId) and a reference to the level (ilvl). See Paragraph Properties for more on <w:numPr>. The other possible way to reference a level in content is through the referenced paragraph style. That is, in the <w:abstractNum> the appropriate subsidiary level (lvl) could contain a pStyle with a value of ListParagraph. In that case, the content contains only a reference to the numbering definition instance (numId), but it also references the paragraph style. The same style will be found in the numbering definition referenced and that level will be used for the paragraph.");
Tanya
Telerik team
 answered on 29 Nov 2018
4 answers
1.2K+ views

I want to create a table in word document with header that having rowspan and columnspan.

please help me, because I had tried but the result is so messy. I have attach the table like I want. Tks

 

* note : I used Telerik Q2015

zake
Top achievements
Rank 1
 answered on 27 Nov 2018
1 answer
521 views

Hi Team,

I am using asp.net webforms.

I want to generate pdf from scratch.

pdf pages size should be A4.

and based on content length i need to generate multiple pages in the PDF.

I am using below code.

protected void btn2_Click(object sender, EventArgs e)
    {
List<string> contents = new List<string>();
        contents.Add("is a document processing library that enables your application to " +
                         "import and export files to and from PDF format. The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("is a document processing library that enables your application to " +
                         "import and export files to and from PDF format. The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
 
        contents.Add("is a document processing library that enables your application to " +
                         "import and export files to and from PDF format. The document model is " +
                         "entirely" +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("is a document processing library that enables your application to " +
                         "import and export files to and from PDF format. " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("is a application to " +
                         "import and export files to and from PDF format. The document model is " +
                         "entirely independent from UI and allows " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is111 " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is222 " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
        contents.Add("The document model is " +
                         "entirely independent from UI and allows you to generate sleek documents " +
                         "with differently formatted text, images, shapes and more.");
 
var document = new RadFixedDocument();
        var page = document.Pages.AddPage();
FixedContentEditor editor = new FixedContentEditor(page);
 var x = 50;
        var y = 50;
 
        foreach (var item in contents)
        {
            editor.Position.Translate(x, y); //Start Position(x,y)
            Block block = new Block();
            block.GraphicProperties.FillColor = RgbColors.Black;
            block.HorizontalAlignment = HorizontalAlignment.Left;
            block.TextProperties.Font = FontsRepository.HelveticaBoldOblique;
            block.TextProperties.FontSize = 20;
            block.InsertText("RadPdfProcessing");
 
            block.TextProperties.Font = FontsRepository.Helvetica;
            block.TextProperties.FontSize = 20;
            block.InsertText(item);
            editor.DrawBlock(block, new System.Windows.Size(700, double.PositiveInfinity));
            //x = x + 50;
           // y = y + 150;
        }
 
 
        var pdfProvider = new PdfFormatProvider();
        byte[] renderedBytes = null;
        using (MemoryStream ms = new MemoryStream())
        {
            pdfProvider.Export(document, ms);
            renderedBytes = ms.ToArray();
        }
        Response.Clear();
        Response.AppendHeader("Content-Disposition:", "attachment; filename=PdfDocument.pdf");
        Response.ContentType = "application/pdf";
        Response.BinaryWrite(renderedBytes);
        Response.End();
    }

but the above code generating only single page.

how can i generate multiple pages based on content. and provide me any examples.

 

Martin
Telerik team
 answered on 31 Oct 2018
2 answers
649 views

Good morning,

 

I am trying to finish off a project and I am having trouble getting the PDF assemblies and namespaces sorted out.

 

I am using VS 2015, and the Telerik UI for WinForms version2018.3.2016

I wanted to export a RadPanel that has a few controls. But I can't seem to find the RadFixedDocument class, or the Telerik.Windows.Pdf namespace at all.

I was following documentation at Getting Started and RadFixedDocument Class and I have all the named assemblies referenced, but I still cannot see the Telerik.Windows.Pdf namespace at all. Much less the sought after RadFixedDocument object.

At this point I am sure I have more assemblies referenced that I actually need, I have attached a screenshot of what I have included so far.

Can anyone help me find what I am missing??

 

Thank you, 

Mike

 

 

Tanya
Telerik team
 answered on 26 Oct 2018
1 answer
642 views

How can I set the line spacing in all table cells contained in one section equal to 0?

 

Regards

Tanya
Telerik team
 answered on 17 Oct 2018
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?