This could be implemented by linking to RadFixedPages or Bookmarks.
Until this feature is developed this could be custom created with the help of Link annotations:
RadFixedPage toc = new RadFixedPage();
document1.Pages.Insert(0, toc);
FixedContentEditor editor = new FixedContentEditor(toc);
foreach (RadFixedPage page in document1.Pages)
{
int pageNumber = document1.Pages.IndexOf(page);
if (pageNumber > 0)
{
int factor = 20;
int offsetX = 70;
int offsetY = 20 + factor * pageNumber;
editor.Position.Translate(offsetX, offsetY);
Block block = new Block();
block.GraphicProperties.FillColor = new RgbColor(255, 5, 99, 193);
block.InsertText($"Page {pageNumber}");
Size blockSize = block.Measure();
editor.DrawBlock(block);
Location location = new Location
{
Left = 0,
Top = 0,
Zoom = 0,
Page = page
};
GoToAction goToAction = new GoToAction();
goToAction.Destination = location;
Link uriLink = toc.Annotations.AddLink(goToAction);
uriLink.Rect = new Rect(offsetX, offsetY, blockSize.Width, blockSize.Height);
}
}
According to the PDF Specification: A redaction annotation (PDF 1.7) identifies content that is intended to be removed from the document.
There are two possible options to workaround this functionality:
foreach (RadFixedPage page in document.Pages)
{
foreach (ContentElementBase elementBase in page.Content)
{
if (elementBase is TextFragment textFragment)
{
if (IsValidEmail(textFragment.Text))
{
textFragment.Text = string.Empty;
}
}
}
}
foreach (RadFixedPage page in document.Pages)
{
foreach (ContentElementBase elementBase in page.Content)
{
if (elementBase is TextFragment textFragment)
{
if (IsIntersecting(rectangleGeometry, textFragment))
{
textFragment.Text = string.Empty;
}
}
}
}
Hello Support,
I am generating pdf using PdfFormatProvider. In this i am passing html data which should be converted into pdf. For that I have written below code.
HtmlFormatProvider htmlFormatProvider = new HtmlFormatProvider(); RadFlowDocument htmlDocument = htmlFormatProvider.Import(htmlContentValue); var anotherpara = sectionBody.Blocks.AddParagraph(); editor.MoveToParagraphStart(anotherpara); editor.InsertDocument(htmlDocument, options);
This works fine and also get pdf with expected value. But I would like to set spacing between two lines which I could not set or its not working. For that I have added below code.
I have also attached screenshot for it. like how its showing on pdf
editor.ParagraphFormatting.AutomaticSpacingAfter.LocalValue = false; editor.ParagraphFormatting.AutomaticSpacingBefore.LocalValue = false; editor.ParagraphFormatting.SpacingAfter.LocalValue = 0; editor.ParagraphFormatting.SpacingBefore.LocalValue = 0;
So could you please let me know fix for it.
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.
Attempting to open a Pdf document containing an unsupported action type results in a NotSupportedActionException being thrown (see PdfProcessing: Add support for actions of type Launch).
Can the behavior be changed to ignore unsupported actions and allow the document to be opened?
By specification, the last line of the file contains only the end-of-file marker, %%EOF. If the file contains many trailing bytes at its end, a NotSupportedException: 'StartXRef keyword cannot be found.', is thrown.
Workaround: Trim any content after the end-of-file marker (see FixInvalidEndOfFile).
Current implementation relies on valid cross-reference offsets in the PDF documents so that PDF objects are easily found and parsed. However, we can implement a mechanism for repairing documents with invalid cross-reference tables. The attached project shows how to repair the simplest case of cross-reference table by using RepairDocumentWithSimpleCrossReferenceTable method.
When importing such documents an InvalidDataException (Unknown compression method <method-name>) is thrown.
According to the current .ZIP File Format Specification these methods are 7, 11, 13, 15, and 17.
Compression method: