
Adds new 'PDF Organizer' dialog to help you organize PDF pages in the viewer.
Features
GrapeCity Documents for PDF 6.1.0
- New ClonePage method - It is now possible to clone a page within a PDF document. You can also control whether to include annotations or form fields in the cloned page.
- Introducing 'PDF Organizer' - GcPdfViewer has a new 'PDF Organizer' dialog to help you organize PDF pages in the viewer. The tool can help:
- Reorder individual pages or page ranges of a PDF.
- Duplicate or remove individual pages or page ranges.
- Rotate all or some pages of a PDF.
- Merge external PDFs into the current document.
- Split the current document into several PDFs.
- Download the modified PDF to your local file system, or apply changes and continue editing the document.
- The PDF Organizer also provides an API that allows you to access all of its functionality programmatically from code.
- Support for a range of magnifications for optional content groups (layers) - PDF documents can contain content in different layers, also known as optional content. A particular layer can be made visible or invisible as required. GcPdf allows you to work with layers and set their properties.
- In GcPdf Viewer, you can examine these layers and show or hide content associated with each layer using the 'Layers' panel in its sidebar.
- According to the PDF 2.0 spec, groups of optional content layers in a PDF can be associated with specific ranges of magnifications (zoom values) at which they should be made visible in a compliant viewer. GcPdfViewer now supports this, so if a PDF that has such zoom-dependent layers is loaded into the viewer, the layers will be automatically shown or hidden depending on the current zoom factor.
- GcPdfViewer now supports the display of PDF documents with initial view settings. The viewer now also provides viewerPreferences client-side API to get information about the initial PDF view settings set by a user and opens the PDF document in those settings, similar to Adobe Acrobat. You can use the following settings through code:
- viewerPreferences: Gets the initial viewer preferences information set by a user.
- openAction: Gets the initial open action information set by a user.
- pageMode: Gets the initial page mode information set by a user.
- pageLayout: Gets the initial page layout information set by a user.
- hideToolbar: A flag specifying whether to hide the toolbars when the document is active.
- hideMenubar: A flag specifying whether to hide the menu bar when the document is active.
- nonFullScreenPageMode: Used to specify the full-screen mode.
- Digital Signature API:
- You can now sign PDF documents using the new Client-side document signing API.
- GcPdfViewer allows you to check whether the current PDF is signed and, if so, which field was used to sign the document:
- Get signature information using the signatureInfo object.
- Test if the document is signed or not using signed property.
- Get the array of signature fields used to sign the document.
- Get the array of all signature fields in the document.
- Get Signature values using the signatureValue property like - signerName, location, and signedDate.
- Save PDF Options:
- When saving a PDF, the GcPdfViewer's save() method now allows you to save the document using incremental update (needed when signing an already signed PDF) or to save it as a linearized PDF file (optimized for fast internet viewing).
- The 'viewer.save' method has been enhanced with added optional SaveSettings class. The SaveSettings class includes saveMode enum that can take in various save modes like 'Default', 'Linearized' and 'IncrementalUpdate'.
- The InterpolationMode property can now be set using the GcGraphics object. The property is also added to SaveAsImageOptions class when saving PDFs to images. The property now allows you to control interpolation mode in a similar manner for all implementations of GcGraphics, i.e., format-specific types of graphics such as GcPdfGraphics, GcBitmapGraphics, GcSvgGraphics, GcSkiaGraphics, GcWicBitmapGraphics, GcD2DBitmapGraphics.
- Introduced a new layout engine that adds LayoutRect and other related classes in the GrapeCity.Documents.Layout namespace to implement a layout model based on constraints and a flat hierarchy of elements without obvious parent-child relations.
- The New TableRenderer class has been added to render table layouts on PDF files and images. With this class, you won't need to know the size of table columns, merged cells, or the layout of rotated text. All complex details of table resizing are automatically adjusted by the layout engine.
- You must provide information about the desired layout, style, and content.
- TableRenderer class is built on top of the new layout engine. LayoutHost, LayoutView, and LayoutRect provide the initial space for the TableRenderer.
- All table rows, columns, vertical and horizontal grid lines and cells have the associated LayoutRect objects.
- A TableRenderer instance takes multiple parameters.
- You can also add cells to the table and add text to it using AddCells(..) method that accepts data as a parameter.
- Also included is the AddMissingCells(..) method that ensures no gaps around the cells and accepts data as a parameter.
GrapeCity Documents for Word 6.1.0
- GcWord Templates:
- It is now possible to use expressions as arguments of aggregate functions. The expression can use constants, aggregates, or two collections within the functions. The following calculations are now possible:
- Using Constants - {{ calc Sum(2 + ds.value)}}.
- Use Aggregates within Aggregate functions - {{ calc Average(ds.value+Sum(ds.value)/2)}}.
- Using two collections within the functions - {{ calc Average(ds.value+ds2.value)}}.
- GcWord Templates now support the following collection state functions: IsFirst, IsLast, and Index, which can be applied to iterated ranges. These functions return the state of the current iteration over a collection. In your Microsoft Word reports, you can implement scenarios like these:
- Show only even elements of the collection.
- Show the number of elements and the current element.
- Check if a word is the first or last element in the collection.
- Insert a word at a certain location.
- It is now possible to use expressions as arguments of aggregate functions. The expression can use constants, aggregates, or two collections within the functions. The following calculations are now possible:
- Developers can now apply a linked style to both paragraphs or run in Word documents using the new GcWordDocument.Styles.AddLinkedStyle method. Also added is a boolean property HideLinkedCharacterStyles which can be used to hide linked character styles. You can apply linked styles to the following API:
- Run.Style - Add a run and set the linked style to it.
- ContentControl.Style - Set the linked style to content control.
- FormattedMark.Style - Set the linked style to a paragraph's mark (a glyph used to represent the physical location of the paragraph mark for a paragraph).
- FindFormatting.Style - Create find options and set the linked style to it.
- GcWord now supports 3D effects for shapes and fonts in the API.
- The TextFrameFormat and Effects class of GcWord has been extended to support ThreeDFormat and ThreeDScene effects.
- ThreeDFormat class sets 3D Format properties on Font or Shapes.
- ThreeDScene class applies 3D scene effects on objects like Lighting, Camera, Backdrop, etc.
- Font, Shape, GroupShape, and Picture classes have the new ApplyEffectsPreset method to set built-in effects for text and shapes.
- Adding various effects to shapes is now supported when exporting Word (.docx) documents to PDF and Images.
GrapeCity Documents for Imaging 6.1.0
- You can now use the Gaussian Blur effect to create a blur based on the Gaussian function over the entire input image or part of the image.
- Added IsBlackAndWhite and IsGrayscale in GcBitmap class. These methods make it faster to check whether the image consists of black and white pixels or just shades of gray.
- The IsBlackAndWhitemethod checks whether all image pixels are either opaque black or opaque white.
- The IsGrayscale method checks whether all pixels of GcBitmap are shades of gray, i.e., their alpha channel is set to 0xFF (fully opaque), and their red, green, and blue channels have the same value.
- Added ApplyGaussianBlur and ToShadowBitmap methods in GrayscaleBitmap class to draw images with shadow. The ApplyGaussianBlur method with two overloads applies Gaussian blur to a grayscale bitmap. You can also specify a border color which is the assumed level of opacity (from 0 to 255) for the pixels surrounding the image.
- The ToShadowBitmap also has two overloads, drawing transparency mask into an existing bitmap. With this method, you can specify a shadow color and an opacity factor. You can apply shadow on text or graphics.
- You can now apply glow and soft edges effect on grayscale bitmap using the GrayscaleBitmap.ApplyGlow method which takes in a radius of glow inflation (positive value) or deflation (negative value) and a blur radius. The glow and soft edges effects are similar to those in Microsoft Word.
- Line Breaking and Justification Settings in Text:
- Introduced LineBreakingRules and WordBoundaryRules properties in TextLayout class which allow the user to switch from the standard Unicode line-breaking/text segmentation algorithms to more simplified rules reproducing the behavior of the text renderer in GDI+ or the line-breaking rules in Microsoft Excel.
- The TextExtensionStrategy property has also been introduced to justify the text when TextLayout.TextAlignment property is set to either Justified or Distributed. The property offers enum values as Default, Normal, EastAsianExcel, and Excel, depending on whether the property value permits text extension for wide characters and white spaces or for white spaces only.
- You can now easily crop and resize images using the crop and resize options now present in the toolbar. The following options can be applied:
- Crop Tool:
- Custom aspect ratio.
- Crop at X/Y Coordinates.
- Crop with Image Width or Height.
- Use Apply or Cancel options.
- Resize Tool:
- Keep aspect ratio (boolean).
- Set the Width and Height of resized image.
- Use Apply or Cancel options.
- Crop Tool:
- SVG can contain text elements, which are not images but real text. This text can now be selected, copied, or searched when the SVG image is displayed in the viewer.
- The InterpolationMode property can now be set using the GcGraphics object. The property is also added to SaveAsImageOptions class when saving PDFs to images. The property now allows you to control interpolation mode in a similar manner for all implementations of GcGraphics, i.e., format-specific types of graphics such as GcPdfGraphics, GcBitmapGraphics, GcSvgGraphics, GcSkiaGraphics, GcWicBitmapGraphics, GcD2DBitmapGraphics.
- Introduced a new layout engine that adds LayoutRect and other related classes in the GrapeCity.Documents.Layout namespace to implement a layout model based on constraints and a flat hierarchy of elements without obvious parent-child relations.
- The New TableRenderer class has been added to render table layouts on PDF files and images. With this class, you won't need to know the size of table columns, merged cells, or the layout of rotated text. All complex details of table resizing are automatically adjusted by the layout engine.
- You must provide information about the desired layout, style, and content.
- TableRenderer class is built on top of the new layout engine. LayoutHost, LayoutView, and LayoutRect provide the initial space for the TableRenderer.
- All table rows, columns, vertical and horizontal grid lines and cells have the associated LayoutRect objects.
- A TableRenderer instance takes multiple parameters.
- You can also add cells to the table and add text to it using AddCells(..) method that accepts data as a parameter.
- Also included is the AddMissingCells(..) method that ensures no gaps around the cells and accepts data as a parameter.