Completed
Last Updated: 24 Jan 2024 12:54 by ADMIN
Release 2024 Q1
Created by: Joe
Comments: 2
Category: PdfProcessing
Type: Feature Request
5

ZUGFeRD (acronym for Zentraler User Guide des Forums elektronische Rechnung Deutschland) is a specification for the electronic invoice format of the same name.

The feature depends on the following features:

Completed
Last Updated: 24 Jan 2024 09:18 by ADMIN
Release 2024 Q1

Add support for extraction of AES-encrypted archives.

There is a related feature request for the creation of such archives: ZipLibrary: Add support for creation of AES-encrypted archives.

Completed
Last Updated: 21 Mar 2024 05:53 by ADMIN
Release 2024.1.305 (2024 Q1)

Handle import of documents with self-referring styles.

As a workaround, you can go through the RTF document structure of a single file and utilize Regex to resolve the self-referring styles like this:

string rtf = File.ReadAllText("inputFile.rtf");
rtf = FixSelfReferringStyles(rtf);

Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider(); 

 var document = provider.Import(rtf);

...

private static string FixSelfReferringStyles(string rtf)
{
    string regexString = @"{\\s([0-9]+)[^}]*\\slink([0-9]+)";

    var matches = Regex.Matches(rtf, regexString);
    foreach (Match match in matches)
    {
        if (match.Groups[1].Value == match.Groups[2].Value)
        {
            var oldValue = match.Groups[0].Value;
            var newValue = oldValue.Replace(@" \slink" + match.Groups[1].Value, string.Empty);
            rtf = rtf.Replace(oldValue, newValue);
        }
    }

    return rtf;
}

 

Completed
Last Updated: 11 Jan 2024 08:23 by ADMIN
Release 2024 Q1
Created by: laura
Comments: 0
Category: PdfProcessing
Type: Feature Request
1
Expose the IsBold property of FontBase.
Completed
Last Updated: 12 Sep 2023 07:23 by ADMIN
Release R3 2023
When importing and merging documents the fonts are extracted directly from the files and can duplicate if the files contain exactly the same fonts/subsets.
Completed
Last Updated: 08 Sep 2023 10:10 by ADMIN
Release R3 2023
Handle HTML import of base64 images with no data source.
Completed
Last Updated: 08 Sep 2023 12:43 by ADMIN
Release R3 2023
Introduce support for importing documents with fields inside of runs.
Completed
Last Updated: 08 Sep 2023 12:44 by ADMIN
Release R3 2023
Created by: Fabien
Comments: 1
Category: WordsProcessing
Type: Feature Request
1
Introduce support for importing documents with nested runs.
Completed
Last Updated: 05 Jul 2023 10:50 by ADMIN
Release R2 2023 SP1
With the current implementation, the optional Filter property is omitted on export.
Completed
Last Updated: 08 May 2023 15:27 by ADMIN
Release R2 2023
Provide support for importing rich text as plain text.
Completed
Last Updated: 18 May 2023 07:25 by ADMIN
Release R2 2023
The PdfFormatProvider currently supports such an option (check the ImageCompression setting).
Completed
Last Updated: 18 May 2023 07:19 by ADMIN
Release R2 2023
Mail merge does not work if the template contains a Table Of Contents
Completed
Last Updated: 07 Sep 2023 12:53 by ADMIN
Release LIB 2023.2.918 (18 Sep 2023)
Created by: Fabian
Comments: 0
Category: WordsProcessing
Type: Feature Request
1
Add support for BIN images
Completed
Last Updated: 14 Feb 2023 11:20 by ADMIN
Release R1 2023 SP1
Provide API that allows retrieving of the cached formula value
Completed
Last Updated: 19 Jan 2023 14:56 by ADMIN
Release R1 2023
ADMIN
Created by: Martin
Comments: 0
Category: WordsProcessing
Type: Feature Request
0
A table of authorities lists the references in a legal document, along with the numbers of the pages the references appear on. To create a table of authorities a special TA (Table of Authorities Entry) field (TaField) should be inserted in the document.
Completed
Last Updated: 19 Jan 2023 14:56 by ADMIN
Release R3 2022 SP1

With the current implementation when passing the font file using the FontsRepository the entire font file is embedded.

In order to embed only a subset of characters used in the document, the font should be installed and the font shouldn't be registered in the FontsRepository.

Completed
Last Updated: 22 Sep 2022 07:56 by ADMIN
Release R3 2022 SP1
Endless loop while the PDF exporter splits a block with an image. This image size is close to the page size but cannot fit in this case.
Completed
Last Updated: 18 Jul 2022 08:45 by ADMIN
Release R3 2022
Created by: David
Comments: 3
Category: PdfProcessing
Type: Feature Request
2
When exporting a PDF file, parts of the page content could be optimized by encoding it into a compressed stream and/or avoiding inserting multiple times the same font file.
Completed
Last Updated: 18 Jul 2022 13:29 by ADMIN
Release R3 2022
This attribute specifies the caption for the current DrawingML object. Currently, it is omitted while importing the content with DocxFormatProvider.
Completed
Last Updated: 07 Jul 2022 14:00 by ADMIN
Release R3 2022

Currently, similar conversions should be manually implemented by the users.

Sample method that could be used:

public static Color HexStringToColor(string hexColor)
{
    // Remove the # at the front.
    if (hexColor.StartsWith("#"))
    {
        hexColor = hexColor.Substring(1, hexColor.Length - 1);
    }

    byte a = 255;
    byte r = 255;
    byte g = 255;
    byte b = 255;

    int start = 0;

    // Handle ARGB strings (8 characters long).
    if (hexColor.Length == 8)
    {
        start = 2;
    }

    //Handle contracted RGB strings (3 characters long)
    if (hexColor.Length == 3)
    {
        hexColor = string.Format("{0}{0}{1}{1}{2}{2}", hexColor[0], hexColor[1], hexColor[2]);
    }
    else if (hexColor.Length < 6)
    {
        hexColor = hexColor.PadLeft(6, '0');
    }

    // Convert RGB characters to bytes.
    r = byte.Parse(hexColor.Substring(start, 2), NumberStyles.HexNumber);
    g = byte.Parse(hexColor.Substring(start + 2, 2), NumberStyles.HexNumber);
    b = byte.Parse(hexColor.Substring(start + 4, 2), NumberStyles.HexNumber);

    return Color.FromArgb(a, r, g, b);
}

1 2 3 4 5 6