Document Solutions .NET Bundle(英語版)

スプレッドシート、PDF、画像、およびDOCXファイルを、Microsoft OfficeまたはAdobe Acrobatに依存することなく、.NET、C#、ASP.NET、またはVB.NETアプリケーションで生成、ロード、編集、保存。

MESCIUS (旧社名:GrapeCity) 社の製品
1996 年より日本国内にてComponentSourceで販売中。

価格:¥ 375,210 (税込)〜 バージョン: 8.x 新機能 更新日: May 9, 2025

Document Solutions .NET Bundle 8.0.0

Released: Dec 11, 2024

8.0.0 での更新項目

機能

Document Solutions for Excel, .NET Edition

Import Data from Object Collections and Data Tables

  • When working with Excel sheets programmatically in business applications, one common task is to import data from different data sources, such as classes and objects in C#/.NET/Java, relational databases, .NET controls, etc. In the v8 release, Document Solutions for Excel (DsExcel) adds the ability to import data from the following types of data sources:
    • Simple enumerable.
    • 2D array (.NET only).
    • Multidimensional array.
    • Jagged arrays.
    • Custom objects.
    • Custom objects from weakly typed collection.
    • Custom objects with custom columns.
    • Data from unknown types of custom objects (duck typing).
    • Dynamic objects.
    • DataTable or DataView (.NET only).
    • Selected DataColumns.
    • LINQ result (.NET only).
  • DsExcel adds new overloads to the IRange.ImportData(..) method that now also enables importing data from a data source to the range. The following overloads take in parameters as per the data source:
    • ImportData(IEnumerable, DataImportOptions) Method - Imports data from a data source to the range.
    • ImportData(DataTable, DataImportOptions) Method - Imports data from a table to the range.
  • The DataImportOptions parameter is an enum that provides options to handle the data.

Add and Manage Scenarios in What-If Analysis

  • In continuation of the support for adding What-If analysis to spreadsheets, support has been added for Scenarios in the latest version of DsExcel. A scenario in Excel is a set of saved input values for specific cells. By switching between different scenarios, you can see how changes in certain cells impact the results of calculations in your sheet.
  • The new IWorksheet.Scenarios interface helps to create and manage scenarios in Excel spreadsheets. You can perform the following operations with this API:
    • Create scenarios in the current worksheet. This allows you to:
      • Define a scenario with a name.
      • Provide the range where the scenario should be added - this range would be the ‘changing cells’ range.
      • Define the list of values for ‘changing cells'.
      • Define a comment attached to the scenario.
      • Set the option to lock a scenario.
      • Set the option to hide a scenario.
    • Apply/show a scenario programmatically - the values of changing cells will be applied to the worksheet, and the formulas that reference the changing cells will be recalculated.
    • Delete the scenario.
    • Get the changing cells for the scenario.
    • Get the values of the changing cells.
    • Change/modify a scenario to have a new set of changing cells and scenario values.
    • Lock a scenario to keep other users from modifying it.
    • Hide a scenario so that certain scenarios are visible only to some users and hidden from others.
    • Edit scenarios on a protected worksheet. This works when the worksheet is protected, with no additional restrictions from DsExcel. Users can customize the operation based on the IProtectionSettings.AllowEditingScenarios and IWorksheet.Protection properties.

Bind Pivot Table Directly with Excel Table as Data Source

  • To maximize the effectiveness and flexibility of a Pivot Table, it needs to be bound to a Table. This is crucial when working with dynamic or expanding datasets, as you don't need to manually update the data range for the Pivot Table. In addition, when your data is in a Table, each column has a defined header, so Pivot Table can automatically use these column names to configure Pivot Table fields.
  • The IPivotCaches.Create(object) method now supports passing ITable as a parameter. Simply define your table and pass it as a parameter while creating the IPivotCache object.

Set Color in Various String Formats

  • In DsExcel, you can customize the appearance of a cell, cell border, tab, and more by using theme colors, standard colors, or custom colors. To apply these colors, DsExcel adds the StringToColor method of the new ColorUtilities class. This API helps to add standard and custom colors using various string formats including:
    • Color name: A predefined standard color name.
    • Example: "red."
    • RGB: rgb(r,g,b).
    • Example: "rgb(255,0,0)" for red color.
    • RGBA: rgba(r,g,b,a).
    • Example: "rgba(255,0,0,0.5)" for red color with 50% opacity.
    • Hexadecimal: #RGB or #RRGGBB.
    • Example: "#F00" or "#FF0000" for red color.
    • Hexadecimal with alpha: #RGBA or #RRGGBBAA.
    • Example: "#F00C" or "#FF0000CC" for red color with 90% opacity.

Support Page Number Calculation Operators

  • DsExcel now supports the use of ‘+’ and ‘-’ operators with page numbers and the total number of pages in the headers and footers of worksheets, whether they are exported to PDF or printed on physical printers. This feature is available for all paginated outputs that respect custom headers and footers in the IWorksheet.PageSetup property.
  • You can adjust page numbers or the total page count—adding or subtracting—as needed when printing multiple workbooks as a single report.

New APIs to Manage PivotTable

  • The Pivot Table features supported in DsExcel have been enhanced with new API options: HasAutoFormat, RefreshOnFileOpen, and ShowPivotTableFieldList from VSTO.
    • HasAutoFormat allows for auto-fit of column width when updating the Pivot Table.
    • RefreshOnFileOpen enables control of whether the pivot table should refresh the pivot cache when the file is opened, ensuring up-to-date information.
    • ShowPivotTableFieldList allows control of whether to show the PivotTable field list.
  • These additions make working with pivot tables programmatically more powerful by simplifying data management and enhancing display options.

Support Pivot Table Timeline Slicer

  • The Timeline Slicer are interactive filters that enable quick data filtering by date, month, quarter, or year. In the v8 release, DsExcel supports data and I/O (xlsx, sjs, json) of this feature.

Document Solutions Data Viewer (DsDataViewer)

  • View Apache Arrow and Parquet Files
    • Apache Arrow and Parquet files are designed to efficiently handle large-scale data processing. In the v8 release, DsDataViewer now supports viewing Arrow and Parquet files.
  • Enhanced Performance of Loading Large Data in CSV Files
    • Loading performance of large data in CSV files has been enhanced in v8. Large data can now be loaded in seconds.

Document Solutions for PDF

  • Optimize PDF Documents
    • Multiple enhancements have been made to optimize the performance of loading and saving PDF files as well as optimizing the file size of the generated PDF. One of the enhancements includes optimizing the way DsPdf works with object streams. DsPdf introduces an API that can help to load and save PDFs with optimization options. A new SavePdfOptions class gives you precise control over your code to save PDFs in an optimal way for your application, the instance of which can be passed to GcPdfDocument.Save(), Sign() and TimeStamp() methods. Saving a PDF with object streams (PDF 1.5) reduces file size, improves load times, and enhances compression efficiency by consolidating objects, making document handling faster and more efficient.
      • UseObjectStreams - Defines how to use object streams using various Enum options when saving a PDF document.
      • PdfStreamHandling - Defines how to process existing PDF streams in a loaded document.
    • Using the new API, you can now re-save an existing PDF with whatever the desired compression settings, affecting all streams.
  • Optimize Font Format
    • In the v8 release, DsPdf also adds the PdfFontFormat property to GcPdfDocument and FontHandler classes, allowing users to set the encoding type for the font formats representing a font in a PDF document.
    • PdfFontFormat enumeration provides the following options that define the encoding type:
      • Type0AutoOneByteEncoding - Saves the font as one or more Type0 PDF fonts, where each character is encoded by one byte.
      • Type0IdentityEncoding - Saves the font as a single Type0 font with Identity encoding, where each character is encoded with two bytes.
    • DsPdf uses a one-byte encoding format, i.e., Type0AutoOneByteEncoding, by default, producing smaller PDF content in most cases.
  • Include/Exclude Annotations or Form Fields on Image Export
    • You now have precise control over which annotations to include when exporting a PDF to images. The new DrawAnnotationFilter property of SaveAsImageOptions can call a delegate to check whether to render a certain annotation or form field based on their type.
  • Preserve Images on Redaction
    • If a part of an image is redacted, the image is replaced with the redacted version. However, if the same image is present at multiple locations, you may want either to apply the redact to all instances of the image or only to the instance of the image at the redact location. You can now control this behavior with the new CopyImagesOnRedact property in the RedactOptions class, indicating whether images within the redacted area that also appear in other locations will be copied before applying the redact. When set to True, only the instance of the image in the redacted area will be modified, leaving the image unchanged in other locations. When set to false, all instances of the image across the document will be affected by the redaction. The default value is False.

Document Solutions PDF Viewer (DsPdfViewer)

  • Replace Text in PDF Documents
    • DsPdfViewer adds new Replace options in the UI to conveniently replace text in PDF documents. The expand icon in the Search bar can activate the text replacement mode where you can provide the text to search in the ‘Find in document' textbox, while the text to replace can be provided in the 'Replace’ textbox. Upon pressing Enter, the text will be replaced conveniently throughout the document. The text can also be replaced through ‘Replace Current’ and ‘Replace All’ buttons in the UI of the Search Bar. Additionally, a new keyboard shortcut, Ctrl+H, has been introduced, which opens the Search Bar with the text replacement mode already enabled.
    • The text replacement mode is only available when the viewer is configured with the SupportApi, which is utilized for editing functionalities. This feature is accessible to users with a Professional license. The feature is currently not available in Wasm mode.
  • Timestamp in PDF Viewer Comments
    • In PDF document annotations, a timestamp records the exact date and time an annotation was created or modified. Timestamps provide a historical record of edits, helping collaborators track when specific feedback or changes were made.
    • The v8 release adds a timestamp to any annotation added to the PDF document. This timestamp is stored in the modificationDate property, which can be modified through code. It is a string type that can either be empty (indicating that the date and time are not specified) or contain the date and time in the internal PDF format, which is 'D:YYYYMMDDHHmmSSOHH'mm'.
    • In addition, a new property called "Modified" has been added to the properties panel of each annotation. This property automatically updates as you make changes to the annotation.
  • Enhanced Proximity Search
    • In the new DsPdfViewer v8 release, MESCIUS have enhanced proximity search functionality with the introduction of two new operators: NEAR and ONEAR. These operators provide more flexibility in querying phrases, offering an improved search experience.
    • The NEAR operator matches results where specified search terms are within close proximity, ignoring the order of the terms.
    • The ONEAR operator functions similarly to NEAR but preserves the order of the specified terms.
    • With the updated proximity search, users can also specify phrases within proximity queries by enclosing them in double quotes.

Document Solutions for Word

  • Enhancements When Working with Fields
    • Fields in Microsoft Word act as dynamic placeholders for data that can automatically update based on certain conditions, eliminating the need for manual updates and helping create consistently formatted, professional documents. Fields are not only useful for displaying dynamic data but can also be customized and controlled by adjusting their arguments (parameters) and switches (modifiers) to modify their behavior and output.
    • In the v8.0 release, DsWord has added support for working with and updating the following fields:
      • PAGE - The PAGE field retrieves the number of the current page.
      • PAGEREF - The PAGEREF field inserts the number of the page containing the bookmark for a cross-reference.
      • SECTION - The SECTION field retrieves the number of the current section.
      • SECTIONPAGES - The SECTIONPAGES field retrieves the number of the current page within the current section.
      • SEQ - The SEQ field sequentially numbers chapters, tables, figures, and other user-defined lists of items in a document.
      • TC - The TC field defines the text and page number for a table of contents (including a table of figures) entry, which is used by a TOC field.
      • TOC - The TOC field builds a table of contents (which can also be a table of figures) using the entries specified by TC fields, their heading levels, and specified styles and inserts that table at this location in the document.
    • Each of the fields listed above has a corresponding …FieldOptions class (living in the GrapeCity.Documents.Word.Fields namespace) that provides strong typed access to read and write arguments and switches of specific field type. The FieldFormatOptions class represents a base class for ...FieldOptions classes that supports the formatting properties.
    • To update (recalculate) the fields, use the new GcWordDocument.UpdateFields() method or the Update() method on a specific field. This allows you to include the updated field results in the DOCX or in export to PDF or images.

DsWordLayout Package is Now Merged into DsWord Package

  • From v8 onwards, the DsWordLayout package (that enables saving Word documents to PDF or images) has been merged with the DsWord package. The changes are backward compatible, so any user code will continue to work in v8.0. The only change is the need to remove references to DsWordLayout from user projects as it is no longer required.

Document Solutions for Imaging

  • The version has been synchronized with other Document Solutions packages.
  • Changed the 'net461' Microsoft .NET Framework target to 'net462'.