Matte color is used for preblending images with some background color, using the SMask. Matte color is specified using the optional 'Matte' entry for the SMask object. See PDF 1.7 specification, page 554-555: Matte array (Optional; PDF 1.4) An array of component values specifying the matte color with which the image data in the parent image has been preblended. The array consists of nnumbers, where n is the number of components in the color space specified by the ColorSpace entry in the parent image’s image dictionary; the numbers must be valid color components in that color space. If this entry is absent, the image data is not preblended.
With the current implementation, the Trigger Events are skippet on import.
From the PDF Specification: An annotation, page object, or interactive form field may include an entry named AA that specifies an additional-actions dictionary that extends the set of events that can trigger the execution of an action.
Handle import of documents with wrong type of action key.
Once this is completed use the Exceptions Handling mechanism to handle this scenario. For instance:
private void ImportSettings_DocumentUnhandledException(object sender, DocumentUnhandledExceptionEventArgs e)
{
if (e.Exception is InvalidActionException)
{
Introduce API for setting Image opacity.
The attached Workaround demonstrates how to change the opacity of the image before inserting it into the document.
When inserting ligature languages text into a block, the text doesn't appear on the generated PDF file.
With the following sample code, the issue can be reproduced:
private static string fileName = "Hello.pdf"; static void Main(string[] args) { byte[] fontData = File.ReadAllBytes("calibri.ttf"); FontFamily fontFamily = new FontFamily("Calibri"); FontsRepository.RegisterFont(fontFamily, FontStyles.Normal, FontWeights.Normal, fontData); RadFixedDocument document = new RadFixedDocument(); RadFixedPage page = new RadFixedPage(); string text = "مرحبا"; var reversedText = text.ToCharArray(); Array.Reverse(reversedText); Block block = new Block(); block.InsertText(new FontFamily("Calibri"), new string(reversedText)); FixedContentEditor editor = new FixedContentEditor(page); editor.DrawBlock(block); document.Pages.Add(page); PdfFormatProvider provider = new PdfFormatProvider(); using (Stream output = File.OpenWrite(fileName)) { provider.Export(document, output); } ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = fileName; Process.Start(fileName); }
SkiaImageFormatProvider: Add support for Text, TextMarkup, Line, and Stamp annotations.
Currently, these annotations are omitted on image export.
This allows specifying a soft mask in the external graphics state.
Add support for documents containing RTL (right-to-left) text.
Implement importing and exporting the javascript actions associated with push button fields so that they can be executed when the exported document is opened with Adobe Acrobat. Javascript actions are also used by text fields for text validation (for instance for date input).