Telerik Forums
Telerik Document Processing Forum
1 answer
164 views

Hello,
I'm importing an html which contains table (100x6), This process is becoming very time consuming when my cells have borders. See the times below:

Code:

var provider = new HtmlFormatProvider();
Provider.Import(html);

With borders => 12 seconds (https://jsfiddle.net/kya78c0m/)
No borders => 1 seconds (https://jsfiddle.net/3eucxd2e/)

Is there any way to reduce this time when I'm using borders?

Deyan
Telerik team
 answered on 30 May 2017
4 answers
562 views
How do I convert an image element back to an image to be able to manipulate the image.
Mark Stevens
Top achievements
Rank 1
 answered on 29 May 2017
2 answers
165 views

Hi,

We are getting the following exception when importing a PDF:with version 2016.2.815

 

Type: System.NotImplementedException
Message: The method or operation is not implemented.
Source: Telerik.Windows.Documents.Fixed
TargetSite: Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.ColorSpaces.ColorBase GetColor(Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfArray)
StackTrace:    at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.ColorSpaces.IccBased.GetColor(PdfArray components)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Operators.Color.SetColorNBase.LoadPatternColor(ContentStreamInterpreter interpreter, IPdfContentImportContext context, Pattern patternColorSpace)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Operators.Color.SetColorNBase.Execute(ContentStreamInterpreter interpreter, IPdfContentImportContext context)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.ContentStreamInterpreter.Execute()
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.ContentStream.CopyPropertiesTo(PostScriptReader reader, IPdfImportContext context, IResourceHolder resourceHolder, IContentRootElement contentRoot)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.Page.CopyPropertiesTo(PostScriptReader reader, IPdfImportContext context, RadFixedPage fixedPage)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyPropertiesTo(PostScriptReader reader, IPdfImportContext context)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.RadFixedDocumentImportContext.BeginImport(PostScriptReader reader)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.ImportOverride(Stream input)

 

I assume there is something about the PDF and its colours that is not supported in the PdfProcessing classes.  Any idea what that might be and how we can work around it?

Scott Waye
Top achievements
Rank 2
Iron
Iron
Veteran
 answered on 29 May 2017
2 answers
280 views

Hello,

When exporting to PDF is not respecting cell color #FF0000(RED), it is always turning black.

Result Attach

Code:

HtmlFormatProvider prov = new HtmlFormatProvider();
RadFlowDocument document = prov.Import(@"<table><tbody><td style="""">NO-BORDER-COLOR</td><td style=""border:5px;border-style:solid;border-color:#FF0000;"">WITH-BORDER-COLOR-RED</td></tr></tbody></table>");
 
var provider = new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();
var ouput = provider.Export(document);
File.WriteAllBytes(@"D:\b.pdf", ouput);

 

william
Top achievements
Rank 1
 answered on 25 May 2017
1 answer
173 views
 I have existing PDF documents which were generated with the incorrect background color and need to programmatically change the color from black background to white but I haven't found a way to do this.Is there a property on the page which I can change or do I have to go through all the elements??
Mark Stevens
Top achievements
Rank 1
 answered on 23 May 2017
2 answers
905 views
I have a report that is currently generated by hand.  It is a 4 page report that is done by hand in Word.  Each page has text, images and dynamic data (some of which is inside paragraphs of text, bullet lists etc.  On page 4 is a data table.  I am trying to figure out the best approach to automate this report.  Should I use a Telerik Report, DocProcessing to generate it (which seems tedious with a RadFixedDocument), a word or html template??   Any suggestions?
Jeffrey
Top achievements
Rank 1
 answered on 22 May 2017
1 answer
449 views

Hi,

I have a situation where I need to send a fairly large amount of data via zip files by email.

The company server limits emails to 4 mg in size, so I can't send one big zip file that, for example,  might be 10mg.

I need to:

1. create a zip file

2. add a file to it

3. test how big the zip file is.

4. if it's larger than 4 mg, back out the file I just added use the< 4mg file to attach to the email.

5. Lather, rinse, repeat until all files have been sent.

How do I tell what the current size of the zip file will be after adding a file to it but before I close the archive?

 

01.MailMessage mail;
02.long currentZipSize = 0;
03.int attIdx = 0;
04.// Get the selected attachments
05.var q = from a in db.Attachments
06.    where rptParms.AttachmentIds.Contains(a.AttachmentId)
07.    select a;
08.List<Models.Attachment> lstSel = q.ToList();
09.int i;
10.mail = new MailMessage();
11.using (MemoryStream ms = new MemoryStream())
12.{
13.using (ZipArchive zArchive = new ZipArchive(ms, ZipArchiveMode.Create, true))
14.{
15.    var lrEntry = zArchive.CreateEntry("LabReport.pdf", CompressionLevel.Fastest);
16.    using (BinaryWriter bw = new BinaryWriter(lrEntry.Open()))
17.    {
18.        bw.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
19.        bw.Flush();
20.    }
21.    currentZipSize = zArchive.GetSize; // ************* how do I get this size?
22.    Models.Attachment att1;
23. 
24.    // Add them to teh zip
25.    for(i = attIdx; i < lstSel.Count; i++)
26.    {
27.        att1 = lstSel[i];
28.        ZipArchiveEntry zEntry = zArchive.CreateEntry(att1.FileName, CompressionLevel.Fastest);
29.        using (var f = File.Open(att1.FullPathDecorated, FileMode.Open))
30.        {
31.            using (Stream entryStream = zEntry.Open())
32.            {
33.                f.CopyTo(entryStream);
34.// ************* how do I get this size? when I run this I get an error
35.// *************
36.                currentZipSize += zEntry.CompressedLength;
37.            }
38.            // if the size is too big for the mail server back out the last file
39.            if (currentZipSize > 4000000)
40.            {
41.                currentZipSize -= zEntry.CompressedLength;
42.                zArchive.GetEntry(att1.FileName).Delete();
43. 
44.                ms.Seek(currentZipSize, SeekOrigin.Begin);
45.                SendMail(mail, rptParms, ms, zArchive, af.CustomKey, emailCnt++);
46.                currentZipSize = 0;
47.                attIdx--;
48.            }
49.            else
50.                attIdx++;
51.        }
52.    }
53. 
54. 
55.}
56.//byte[] buf = ms.GetBuffer();
57.//Buffer.BlockCopy(buf, numberOfBytesToRemove, buf, 0, (int)ms.Length - numberOfBytesToRemove);
58.//ms.SetLength(ms.Length - numberOfBytesToRemove);
59.//ms.Seek(0, SeekOrigin.Begin);
60.//System.Net.Mail.Attachment oAttach = new System.Net.Mail.Attachment(ms, "LabReport.zip");
61.//mail.Attachments.Add(oAttach);
62.//SmtpClient client = new SmtpClient();
63.//client.Host = "intermail.basf-corp.com";
64.//client.Send(mail);
65.//client.Dispose();
66.//mail.Dispose();
67.Utilities.SetStatusBarText(EventAggregator, "Report Sent.");
68.}

 

 

Boby
Telerik team
 answered on 22 May 2017
1 answer
129 views

Hello,

 

I want to protect some Paragraphs in a document against changing. But it seems not to be possible.

I have tried:

document.ProtectionSettings.Enforce = true;
document.ProtectionSettings.ProtectionMode = DocumentProtectionMode.ReadOnly;

But it ist still possible to Change the document in word.

Thanks in advance

Holger

 

Tanya
Telerik team
 answered on 10 May 2017
1 answer
234 views

I'm struggling to see how to programmatically keep track of the relevant Y position to give to the FixedContentEditor after adding dynamically created elements such as tables and Text that can vary in height.

An example would be Drawing a Block that contains text from a SQL Query. This text could be one line long or 30 lines long and therefore the height of the text can vary greatly (below its in dtJobHeader.Rows(0).Item("Comment")). I need to be able to tell the editor.position.translate where it needs to move to and draw the next block after the previous block is drawn.

        editor.Position.Translate(defaultLeftIndent, currentTopOffset)
        editor.DrawBlock(DrawBlock(dtJobHeader.Rows(0).Item("Comment")), New Size(maxWidth, Double.PositiveInfinity))

        currentTopOffset += ????
        editor.Position.Translate(defaultLeftIndent, currentTopOffset)
        editor.DrawBlock(DrawBlock("Some Text Here, etc, etc, etc"), New Size(maxWidth, Double.PositiveInfinity))

Private Function DrawBlock(texttodraw As String) As Block

        Dim block As New Block()
        block.GraphicProperties.FillColor = RgbColors.Black
        block.HorizontalAlignment = HorizontalAlignment.Left
        block.TextProperties.Font = FontsRepository.Helvetica
        block.InsertText(texttodraw)

        Return block

 End Function


      

 

Martin Ivanov
Telerik team
 answered on 09 May 2017
4 answers
699 views

Hi, 

 

Is it possible to do the DOCX to PDF conversion? Because I have a document in a folder and I want to export to pdf.

 

Mihail
Telerik team
 answered on 09 May 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
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?