When a watermark needs more space than the available on the page, it should be resized. At this point, part of its content can be cut off as it falls outside of the page bounds.
Workaround: Decrease the size of the watermark prior to exporting it to PDF:
foreach (var section in this.document.Sections)
{
Header header = section.Headers.Default;
if (header != null)
{
foreach (Watermark watermark in header.Watermarks)
{
if (watermark.TextSettings != null && watermark.TextSettings.Width > section.PageSize.Width)
{
watermark.TextSettings.Width = section.PageSize.Width;
}
}
}
}
When importing a document with a style set in a parent <div> element its children`s (heading (<h1>-<h6>) and <div>) content doesn't inherit it.
Steps to reproduce:
<div style="background-color: green;">
<h1>Test heading</h1>
<div>Test div</div>
</div>
Actual vs Expected:
When a TrueType font is defined, the mapping of character codes to glyph indices depends on the built-in cmap table mappings defined in the font and the Encoding property defined in the PDF dictionary.
However, the current implementation maps all characters with cmap tables for Microsoft Symbolic and Macintosh Roman, which causes incorrect mapping results, e.g. space characters are mapped to an Ê glyph.
The issue is also described in the following public item: TryGetCharCode for OpenTypeFont uses wrong cmap and returns wrong charcode.
Workaround: Change the font of the TextBoxField's widget appearance:
foreach (var widget in field.Widgets)
{
widget.TextProperties.Font = FontsRepository.Helvetica;
}
When merging documents` pages using the PdfStreamWriter the Form Fields are not copied:
using (PdfStreamWriter fileWriter = new PdfStreamWriter(File.OpenWrite(document2Name)))
{
// Iterate through the files you would like to merge
for (int i = 0; i < 2; i++)
{
// Open each of the files
using (PdfFileSource fileToMerge = new PdfFileSource(File.OpenRead(document1Name)))
{
// Iterate through the pages of the current document
foreach (PdfPageSource pageToMerge in fileToMerge.Pages)
{
// Append the current page to the fileWriter, which holds the stream of the result file
fileWriter.WritePage(pageToMerge);
}
}
}
}
A possible workaround is to use the RadFixedDocument`s Merge() method:
document1.Merge(document2);
Tables should ignore fixed proffered width with the value of 0, this is the default behavior in Word as well.
Workaround (when converting Flow to PDF documents):
foreach (var item in tables)
{
if (item.PreferredWidth.Type == Telerik.Windows.Documents.Flow.Model.Styles.TableWidthUnitType.Fixed &&
item.PreferredWidth.Value == 0)
{
item.PreferredWidth = new Telerik.Windows.Documents.Flow.Model.Styles.TableWidthUnit(Telerik.Windows.Documents.Flow.Model.Styles.TableWidthUnitType.Percent, 100);
}
}
ArgumentOutOfRangeException is thrown when importing a document because of wrongly parsing to Unicode mapping.
System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index'