Declined: This task is obsolete following the introduction of the current Licensing Mechanism.
------------------------------------------------------------------
Currently EULA requires Telerik assemblies to be protected against unauthorized redistribution, by following specific guidelines for the different types of technology:
- for WPF: https://docs.telerik.com/devtools/wpf/installation-and-deployment/deploying-telerik-ui/protecting-telerik-assembly - for ASP.NET AJAX: https://docs.telerik.com/devtools/aspnet-ajax/deployment/protecting-the-telerik-asp.net-ajax-assembly - for WinForms: https://docs.telerik.com/devtools/winforms/installation-deployment-and-distribution/redistributing-telerik-ui-for-winforms When the guidelines for WinForms or AJAX are followed (namely the call to ValidatePassPhrase() is uncommented in AssemblyProtection.IsValid() method, the following license message is added to the generated documents: "This document was generated by a copy of Telerik Document Processing licensed for use only by '<MyApp>'."Workaround: Set the application name as resource in the Application.Current, using the following code:
newSystem.Windows.Application();System.Windows.Application.Current.Resources.Add("Telerik.Windows.Controls.Key","MyApp");where 'MyApp' should be replaced with the actual application name. References to PresentationFramework and WindowsBase .NET Framework assemblies should be added in order for this approach to work.
As Ghiath reported in the forum thread, I am seeing this same error.
I am using RadFixedDocument and am generating a PdfFormatProvider. As Ghiath mentioned it will work fine (weeks, months) and then it seems the the font file is locked and it cannot export.
System.IO.IOException: I/O error when opening file 'C:\WINDOWS\FONTS\MSYH.TTC'. System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.IO.IOException: I/O error when opening file 'C:\WINDOWS\FONTS\MSYH.TTC'. at MS.Internal.FontCache.FileMapping.OpenFile(String fileName) at MS.Internal.FontCache.FontSource.GetUnmanagedStream() at System.Windows.Media.GlyphTypeface.ComputeSubset(ICollection`1 glyphs) at Telerik.Windows.Documents.Fixed.Model.Fonts.CidType2Font.ComputeSubset(IEnumerable`1 usedCharacters) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.FontStream.CopyPropertiesFromOverride(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.FontStream.CopyPropertiesFrom(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.FontDescriptor.CreateFontFile(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.FontDescriptor.ExportFontFile(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.FontDescriptor.CopyPropertiesFrom(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.CidFontObject.CopyPropertiesFromOverride(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.CidFontObject.CopyPropertiesFrom(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.Type0FontObject.CopyPropertiesFromOverride(IPdfExportContext context, FontBase font) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.PdfExporter.WriteFontsFromContext(PdfWriter writer, IPdfExportContext context) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.PdfExporter.Export(IRadFixedDocumentExportContext context, Stream output) at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.ExportOverride(RadFixedDocument document, Stream output) at Telerik.Windows.Documents.Common.FormatProviders.FormatProviderBase`1.Export(T document, Stream output)
It will throw the exception on the line where it is doing the export. The document is typically a multi-page document with images, etc. As I mentioned it might work fine for weeks and then once it fails the only solution is to recycle the web service.
We use the PDF viewer in an WPF project and see sometimes faulty pdfs in the telerik viewer. If I open the pdf file in acrobat it lloks fine. Do you know this problem ?
Attached you find the original file and a screenshot from PDF viewer. Other files are shown correct in the telerik viewer.
I have a simple program that imports a PDF, calls AcroForm.FlattenFormFields(), and calls Export() on the PdfFormatProvider. I am seeing the following exception during Import() on a signed W9 form a customer has uploaded into our system. Due to the sensitive nature of the document I cannot upload it, but below is the Sig section. I have tried other example signed PDFs which seem to work fine (See attached)
39 0 obj
<< /Type /Annot /Rotate 0 /AP 180 0 R /Rect [ 105.8515 149.2023 289.4443 261.1185
] /Border [ 0 0 0 ] /M (h<D[×¥\001.ƒ¶AB}«\006iÚ¿E@\024_”W±ÔÃ\030ÙL\020"É]a\012Ú6¡0\000¶Žm1@Ž)
/C [ 1 ] /DA (h<D[×¥\001.ƒ¶AB}«\006.\023âø‰\035\005íöu\002ÊÒ½ùwË@—‹måÿÚ[ ‹í!¨\001)
/F 4 /Subtype /Sig >>
endobj
Exception
System.NotSupportedException: 'Import of annotation with type Sig is not supported.'
Stack Trace
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Annotations.AnnotationFactory.CreateUnsupportedAnnotationObject(PdfName type)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.TypeAwareConverter`1.CreateInstance(Type type, PostScriptReader reader, IPdfImportContext context, PdfDictionary dictionary)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.Converter.ConvertFromDictionary(Type type, PostScriptReader reader, IPdfImportContext context, PdfDictionary dictionary)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.Converter.Convert(Type type, PostScriptReader reader, IPdfImportContext context, IPdfPrimitive value)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Converters.Converter.Convert(Type type, PostScriptReader reader, IPdfImportContext context, IPdfPrimitive value)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfCollectionBase`1.ConvertElementToType[T](PostScriptReader reader, IPdfImportContext context, IPdfPrimitive element)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfCollectionBase`1.TryGetElement[T](PostScriptReader reader, IPdfImportContext context, TIndex index, T& element)
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.Page.<>c__DisplayClass21_0.<CopyPageAnnotationsTo>b__0()
at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation)
This results in a missing paragraph. For example, having a table with three cells and Page field in the footer of a document and exporting it to PDF, will not export the last paragraph.
As a workaround add new run after the last field character in the cell's table before exporting the document to PDF.
BlockCollection footerContent = this.document.Sections.First().Footers.Default.Blocks;
Table footerTable = footerContent.First() as Table;
var cells = footerTable.Rows.Last().Cells.Where(x => x.EnumerateChildrenOfType<FieldCharacter>().Any());
foreach (var cell in cells)
{
cell.Blocks.AddParagraph().Inlines.AddRun();
}In WordsProcessing on import only the lower case CSS attributes are correctly imported. Upper case and mixed case are ignored and the default values are used.
The calculations are wrong, leading to single lines on a page. As a result, the content of the PDF document is laid out on a bigger number of pages.
Workaround: Change the line spacing and its type before exporting to PDF:
foreach (var paragraph in this.document.EnumerateChildrenOfType<Paragraph>())
{
HeightType? heightType = paragraph.Properties.LineSpacingType.GetActualValue();
if (heightType == HeightType.Exact || heightType == HeightType.AtLeast)
{
paragraph.Properties.LineSpacingType.LocalValue = Telerik.Windows.Documents.Flow.Model.Styles.HeightType.Auto;
paragraph.Properties.LineSpacing.LocalValue = 2;
}
}
The exception is thrown because we try to export a tblGrid element, but currently we do not support this: https://feedback.telerik.com/Project/184/Feedback/Details/190082-wordsprocessing-export-tblgrid-table-grid-property-for-table-elements
Importing a document containing a bookmark located in a structured document tag (sdt) will lead to ArgumentNullException.
Import of Tables with border style needs improvements. Currently, it takes multiple seconds to import table with 100x6 cells no matter if the border style is defined globally or locally. This may be seen when importing the attached files "table with borders.html" and "table single border style.html". Importing the same table without borders is achieved in less than a second which may be seen with the attached "table without borders.html".
Content is moved from the second page to the first after applying styling to the footer and exporting to PDF format
The issue is reproducible only in a specific setup with a specific document. It is related to the calculations of the line spacing when the table row should be split between two pages.
Workaround: Change the line spacing:
foreach (var paragraph in this.document.EnumerateChildrenOfType<Paragraph>())
{
paragraph.Properties.LineSpacingType.LocalValue = HeightType.Auto;
paragraph.Properties.LineSpacing.LocalValue = 1;
}
This is caused by hasSize field in ShapeBase class which is set when decoding the image size. However, when SetWidth and SetHeight methods are called before the size is initialized the value of hasSize is false which causes the issue. Workaround: Call the Size property getter before calling SetWidth/SetHeight method. See the code below: // This line workarounds the issue with SetWidth method which does not get the correct size when locking aspect ratio. Size size = imageInline.Image.Size; imageInline.Image.SetWidth(true, width);
Currently empty paragraphs are exported to HTML with one space inside. Such paragraphs are not rendered by the browser. Such paragraph should be exported to HTML with one non-breaking space (@nbsp;) inside to ensure that they are visible in the browser.
Workaround: manually add nbsp-s in all empty paragraphs:
paragraph.Inlines.AddRun("\u00a0");
Steps to reproduce:
- Create document with empty paragraphs:
var document = new RadFlowDocument();
Section section = document.Sections.AddSection();
section.Blocks.AddParagraph();
section.Blocks.AddParagraph();
section.Blocks.AddParagraph();
section.Blocks.AddParagraph().Inlines.AddRun("test");
- Export it to HTML.
- Load the HTML in a browser.
Expected: The word 'test' is preceded by 3 empty rows.
Actual: The word 'test' is on the first row.
Import the following HTML content and export it to DOCX format:
<p>Here is my list</p>
<ol start="108" style="list-style-type: lower-latin;">
<li>Item 1</li>
<li>Item 2</li>
</ol>Expected result:
Actual result:
PdfFormatProvider provider = new PdfFormatProvider();The value of the TextBoxField is not visible until the field is clicked.
Workaround: Force content update:
foreach (var widget in textBoxField.Widgets)
{
widget.RecalculateContent();
}If the update still doesn't fix the issue, change the font prior to setting the value of the field:
foreach (var widget in textBoxField.Widgets)
{
widget.TextProperties.Font = FontsRepository.Helvetica;
}