The images are loaded asynchronously and when scrolling too fast, the loader might fail to load an image if it is bigger.
When using SaveAsCommandDescriptor of RadPdfViewer and trying to replace a pdf file that is currently open in adobe reader causes the following exception:
System.IO.IOException: The process can not access file "C:\Temp\test.pdf" because it used by another process.
Represents Highlights PDF content. While the other annotations are drawn on top of the content, the highlight annotation is behind the text it highlights. In other words, it has to be inserted at a specific place in the ContentElementsUILayer. The precise place where the highlight should be placed is described in the PDF file with the BDC, MCID and EMC operators. At the moment, we have implemented a read-only rendering for all annotation types which draws the annotions separately from the page content. In the case of Highlight, the annotation is drawn below the other content. With this implementation, depending on the PDF content, the highlight annotation might be visible or it might not be because in some cases there is geometry content below the highlighted text which hides the highlight annotation appearance.
A password is asked although Adobe opens the document without one when the document is encrypted with "Encryption of data using the RC4 or AES algorithms with a file encryption key length of 40 bits." - Version 1 (V 1) Revision 2 (R 2).
Similar cases (V1 R3 and V2 R3) are handled in the following item: PdfViewer: A password is asked although Adobe opens the document without one.
When the Interactive Form Fields are in read-only mode, the user should not be able to change the value of the field. The associated Form Field widgets should not interact with the user, e.g. they should not respond to mouse clicks or change their appearance in response to mouse motions.
var pageMarginsPropInfo = typeof(PagesLayoutManagerBase).GetField("pageMargins", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
pageMarginsPropInfo.SetValue(null, new Size(0, 0));
Currently, RadPdfViewer uses WPF DrawingContext class for drawing page elements to a Canvas. When PDF page has many content elements (usually geometries) drawing the page may be time-consuming and freezes the UI. Instead, we should consider implementing another approach for rendering the content asynchronously which would improve the user experience.
Provide a default appearance for fields that do not contain one.
Workaround: set border and background manually:
var provider = new PdfFormatProvider();
var document = provider.Import(File.ReadAllBytes(@"..\..\..\Systemvariablen.pdf"));
foreach (var item in document.AcroForm.FormFields)
{
var widget = item.Widgets.First() as VariableContentWidget;
if (widget != null)
{
widget.AppearanceCharacteristics.Background = new RgbColor(255, 0, 0);
widget.AppearanceCharacteristics.BorderColor = new RgbColor(0, 0, 255);
widget.Border = new AnnotationBorder(2, AnnotationBorderStyle.Solid, null);
widget.RecalculateContent();
}
}
pdfViewer.Document = document;