Completed
Last Updated: 22 May 2025 13:36 by ADMIN
Release 2025.2.520 (2025 Q2)

I have a simple program that imports a PDF, calls AcroForm.FlattenFormFields(), and calls Export() on the PdfFormatProvider. With the attached example PDF I am seeing the following exception.

System.NotImplementedException: 'The method or operation is not implemented.'

Stack Trace

at Telerik.Windows.Documents.Core.Fonts.Type1.Type1Format.Type1FontSource.GetCapHeight()
   at Telerik.Windows.Documents.Core.Fonts.FontSource.get_CapHeight()
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.Fonts.FontDescriptor.CopyRequiredButType3FontPropertiesFrom(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.SimpleFontObject.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.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.ExportOverride(RadFixedDocument document, Stream output)

Unplanned
Last Updated: 02 Apr 2025 12:34 by Jian
Created by: Jian
Comments: 0
Category: PdfProcessing
Type: Feature Request
0

Introduce Sanitize Document functionality.

https://experienceleague.adobe.com/en/docs/document-cloud-learn/acrobat-learning/advanced-tasks/redact
https://helpx.adobe.com/acrobat/using/removing-sensitive-content-pdfs.html

Completed
Last Updated: 22 May 2025 13:37 by ADMIN
Release 2025.2.520 (2025 Q2)
Handle the import of documents with Associated Files (/AF) elements whose content is set to null.
Completed
Last Updated: 22 May 2025 13:37 by ADMIN
Release 2025.2.520 (2025 Q2)
Handle the import of documents with null elements in the Associated Files (/AF) collection.
Unplanned
Last Updated: 02 Jul 2025 06:41 by ADMIN

The PDF/A-1 standard uses the PDF Reference 1.4 and specifies two levels of compliance:

- PDF/A-1b - Its goal is to ensure reliable reproduction of the visual appearance of the document.

- PDF/A-1a - Its objective is to ensure that documents content can be searched and re-purposed. This compliance level has some additional requirements:

  • Document structure must be included.
  • Tagged PDF.
  • Unicode character maps
  • Language specification.

Since the PdfProcessing and its PdfFormatProvider is compliant with the PDF Reference 1.7. , the produced documents are created with this version as well: 




Unplanned
Last Updated: 11 Mar 2025 09:50 by Jeanot
This is the code the for replicating the error: 
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Streaming;
using Telerik.Windows.Documents.Fixed.Model.Editing;
using Telerik.Windows.Documents.Fixed.Model.InteractiveForms;
using Telerik.Windows.Documents.Fixed.Model;
using Telerik.Documents.Primitives;
using System.Diagnostics;
using System.Reflection.Metadata;
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;

namespace _1681158PdfInputFields
{
    internal class Program
    {
        static void Main(string[] args)
        {
           ExportExamplePdfForm();

        }

        public static void ExportExamplePdfForm()
        {
            RadFixedDocument fixedDoc = new RadFixedDocument();
            RadFixedPage fixedPage = fixedDoc.Pages.AddPage();
            FixedContentEditor editor = new FixedContentEditor(fixedPage);
            editor.Position.Translate(100, 100);
           
            
            TextBoxField textBox = new TextBoxField("textBox");
            fixedDoc.AcroForm.FormFields.Add(textBox);
            textBox.Value = "Sample text...";
            Size widgetDimensions = new Size(200, 30); 
            DrawNextWidgetWithDescription(editor, "TextBox", (e) => e.DrawWidget(textBox, widgetDimensions));

            string fileName = "output.pdf";
            File.Delete(fileName);
            // File.WriteAllBytes(fileName, new PdfFormatProvider().Export(fixedDoc, TimeSpan.FromSeconds(15)));


            string ResultFileName = "result.pdf";
            File.Delete(ResultFileName);
            using (PdfStreamWriter writer = new PdfStreamWriter(File.OpenWrite(ResultFileName)))
            {
                foreach (RadFixedPage page in fixedDoc.Pages)
                {
                    writer.WritePage(page);
                }
            }

            ProcessStartInfo psi = new ProcessStartInfo()
            {
                FileName = ResultFileName,
                UseShellExecute = true
            };
            Process.Start(psi);

            Console.WriteLine("Document created.");

             
        }

        private static void DrawNextWidgetWithDescription(FixedContentEditor editor, string description, Action<FixedContentEditor> drawWidgetWithEditor)
        {
            double padding = 20;
            drawWidgetWithEditor(editor);

            Size annotationSize = editor.Root.Annotations[editor.Root.Annotations.Count - 1].Rect.Size;
            double x = editor.Position.Matrix.OffsetX;
            double y = editor.Position.Matrix.OffsetY;

            Block block = new Block();
            block.TextProperties.FontSize = 20;
            block.VerticalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.VerticalAlignment.Center;
            block.InsertText(description);
            editor.Position.Translate(x + annotationSize.Width + padding, y);
            editor.DrawBlock(block, new Size(editor.Root.Size.Width, annotationSize.Height));

            editor.Position.Translate(x, y + annotationSize.Height + padding);
        }
    }
}
Unplanned
Last Updated: 10 Mar 2025 09:45 by João
Created by: João
Comments: 0
Category: PdfProcessing
Type: Feature Request
0
Handwritten Signature is a type of biometric signature that relies on capturing unique biometric data from a person's handwritten signature.
Unplanned
Last Updated: 21 Feb 2025 10:59 by Gal
Incorrect positioning of Right-to-left (RTL) numbers.
Unplanned
Last Updated: 21 Feb 2025 10:13 by Gal
Mangled Right-To-Left (RTL) content when multiple lines of text are drawn.
Completed
Last Updated: 22 May 2025 14:26 by Diego
Release 2025.2.520 (2025 Q2)
Wrong font loading when FontFile2 is CFF (Compact Font Format).
Unplanned
Last Updated: 18 Feb 2025 08:22 by Vitalii
Completed
Last Updated: 22 May 2025 13:36 by ADMIN
Release 2025.2.520 (2025 Q2)
IndexOutOfRangeException is thrown due to wrongly processed image data.
Unplanned
Last Updated: 14 Feb 2025 13:05 by Sandy

Corrupted document when exporting "Courier New" subset.

Workaround - fully embed the font:

var pdfFormatProvider = new PdfFormatProvider();
pdfFormatProvider.ExportSettings.FontEmbeddingType = FontEmbeddingType.Full;

 

Completed
Last Updated: 22 May 2025 13:36 by ADMIN
Release 2025.2.520 (2025 Q2)
Wrong glyph rendering due to incorrectly parsed Type1Font glyph data.
Completed
Last Updated: 22 May 2025 13:36 by ADMIN
Release 2025.2.520 (2025 Q2)

The StokeAlphaContant is not handled correctly when applied on a TextFragment:

Completed
Last Updated: 22 May 2025 13:36 by ADMIN
Release 2025.2.520 (2025 Q2)
When a signed document containing an image with Indexed color space is import-exported the image data seems corrupted.
Completed
Last Updated: 22 May 2025 13:37 by ADMIN
Release 2025.2.520 (2025 Q2)
ADMIN
Created by: Martin
Comments: 0
Category: PdfProcessing
Type: Feature Request
0
Export AdditionalActions of the page when merging pages with PdfStreamWriter.
Under Review
Last Updated: 10 Feb 2025 14:43 by ADMIN

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.

Unplanned
Last Updated: 14 Jan 2025 13:52 by ADMIN
It seems the font that is rendered in Adobe is not the same. The document does not contain the font and Adobe and PdfViewer are fallbacking to different fonts.
Unplanned
Last Updated: 14 Jan 2025 13:48 by ADMIN
Created by: Desislava
Comments: 0
Category: PdfProcessing
Type: Bug Report
0
It seems there is an issue when transforming the position of the original glyph data