Document Solutions for PDF 6.2.0
Released: Aug 7, 2023
6.2.0 での更新項目
機能
- Added the ability to open/modify (with limitations) a password protected PDF without specifying the password.
- Added helper methods to TextBoxField, ComboBoxField and CombTextField: SetPercentFormat(), SetPercentValue(), SetNumberFormat(), SetNumberValue(), SetDateFormat(), SetDateValue(), SetTimeFormat(), SetTimeValue(), SetSpecialFormat() and SetSpecialFormatValue().
- Added the ability to generate custom time-stamp tokens. The new ITimeStampGenerator interface can be implemented by user and assigned to SignatureProperties.TimeStamp and TimeStampProperties.TimeStamp.
- GcPdfDocument.Load() method now implements lazy loading of PDF objects. This provides several advantages, including:
- Improved compatibility with PDFs produced by various vendors.
- Custom content unknown to GcPdf is now preserved as is.
- Improved average load speed.
- GrapeCity Documents PDF Viewer (GcPdfViewer):
- Document List Panel Enhancements - GcPdfViewer now supports enhancing the Document List panel using custom HTML markup.
- GcPdfViewer provides name, path, title, and previewContent properties in DocumentListItem type, allowing the user to specify custom HTML markup to represent the documents' list:
- Name - Display the name of the Document list item.
- Path - Absolute or relative URL to a PDF document.
- Title - Item tooltip.
- PreviewContent - the HTML content to be used as the preview content in the document list.
- The existing client-side properties and methods - documentListUrl option and addDocumentListPanel and loadDocumentList methods have been enhanced to accept DocumentListItem as a parameter to specify a predefined list of document list items.
- Keyboard Shortcuts - GcPdfViewer supports several keyboard shortcuts that can make working with PDF documents in the viewer more efficient.
- Supports redefining, disabling, overriding, and removing the default keyboard shortcuts.
- Supports binding the default keyboard shortcuts to other keys and creating custom keyboard shortcuts via API using the shortcuts option of the ViewerOptions class.
- Breaking Changes:
- The stream that is passed to one of GcPdfDocument.Load() method overloads must now be kept open while the loaded GcPdfDocument is in use.
- If using GcPdfDocument.MergeWithDocument(), the passed GcPdfDocument is effectively in use while the current document is in use. If it was loaded from a stream, that stream must be kept open too.
- Several existing collection properties can no longer be modified in place. Instead, create a new instance of the collection and assign it to the property.
- WidgetAnnotation.TextFormat property has been removed (previously it was obsolete).
- GrapeCity.Documents.Pdf.Layers.OptionalContentOrderCollection class is now derived from PdfCollection<IPdfObject> (previously it was derived from List<object>).
- GrapeCity.Documents.Pdf.AcroForms.SignatureLockedFields.FieldNames property type has been changed from ObservableCollection<string> to IEnumerable<string>. To change the value, create a new instance of the collection and assign it to the property.
- GrapeCity.Documents.Pdf.SoundObject.EncodingFormat property type has been changed from string to IPdfName.
- GrapeCity.Documents.Pdf.Text.CMap.CMap class has been renamed to CMapTable, CMapBase class has been removed.
- GrapeCity.Documents.Pdf.Actions.ActionHide.LinkedObjects property type has been changed from List<object> to LinkedObjectCollection. To change the value, create a new instance of the collection and assign it to the property.
- GrapeCity.Documents.Pdf.Actions.ActionFieldsBase.FieldNames property has been changed from List<string> FieldNames { get; } to IList<IFieldDef> Fields { get; }.
- Properties ViewerPreferences.PageMode and ViewerPreferences.PageLayout have been marked as obsolete, corresponding properties are now available directly on GcPdfDocument: GcPdfDocument.PageMode and GcPdfDocument.PageLayout.
- Property WidgetAnnotation.TriggerEvents.Activate has been marked as obsolete, corresponding property is now available directly on WidgetAnnotation: WidgetAnnotation.Activate.
- GrapeCity.Documents.Pdf.Annotations.PolygonAnnotationBase.Points property type has been changed from IList<PointF> to IReadOnlyList<PointF>. To change the value, create a new instance of the collection and assign it to the property.
- GrapeCity.Documents.Pdf.Annotations.ImageScale class is now derived from GrapeCity.Documents.Pdf.Wrappers.PdfDictWrapper (previously it was derived from NotifyObject).
- GrapeCity.Documents.Pdf.Annotations.ButtonAppearance.Image property type has been changed from object to IXObject. IXObject is a common interface for FormXObject and PdfImageObjectBase. An IImage can be assigned to this property using PdfImageHandler: doc.ImageHandlers.GetImageHandler(someBitmap).
- GrapeCity.Documents.Pdf.Annotations.InkAnnotation.Paths property type has been changed from ObservableCollection<PointF[]> to IReadOnlyList<IReadOnlyLust<PointF>>. To change the value, create a new instance of the collection and assign it to the property.
- GrapeCity.Documents.Pdf.Annotations.TextMarkupAnnotation.Area property type has been changed from ObservableCollection<Quadrilateral> to IReadOnlyList<Quadrilateral>. To change the value, create a new instance of the collection and assign it to the property.
- GrapeCity.Documents.Pdf.Annotations.RedactAnnotation.Area property type has been changed from ObservableCollection<Quadrilateral> to IReadOnlyList<Quadrilateral>. To change the value, create a new instance of the collection and assign it to the property.
- Even if an annotation belongs to several pages, its vertical coordinate is now converted to the GcPdf top/left coordinate system using the media box of the first page in the annotation's Pages collection. The AnnotationBase.PdfRect property provides access to native PDF coordinates.
- GrapeCity.Documents.Pdf.Structure.StructElement.ID property type has been changed from IList<byte> to IPdfString.
- PdfIndirectSerializableObject class has been removed, the GrapeCity.Documents.Pdf.Wrappers.PdfWrapperBase and its descendants can be used instead.
- PdfDict class is now derived from Dictionary<PdfName, IPdfObject> (previously it was derived from Dictionary<string, object>). Instead of using a string directly, use new PdfName(string) instead.
- GcPdfDocument.NamedDestinations property type has been changed from IDictionary<string, Destination> to IDictionary<string, IDestination>. The IDestination interface is common to Destination and ActionGoTo classes.
- PdfLang type has been removed, all properties that previously had that type are now of the type string.
- ICCProfile.IsSame() method has been removed.
- GrapeCity.Documents.Pdf.Annotations.UnknownAnnotation.Subtype property type has been changed from string to PdfName.
- PdfDictWrapperObject class has been removed, use PdfDictWrapper instead.
- CheckBoxField.ValueObj property behavior has been changed, now it returns Boolean true if all widgets of the CheckBoxField use the same name for appearance stream used to display a checked state. Previously it returned "Off" if field was unchecked, or the name of the checked appearance stream. Use PdfValue property to get the PdfName used to hold value.
不具合の修正
- Several issues related to errors when opening existing PDFs.