GrapeCity.Documents.Pdf 6.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package GrapeCity.Documents.Pdf --version 6.2.0                
NuGet\Install-Package GrapeCity.Documents.Pdf -Version 6.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GrapeCity.Documents.Pdf" Version="6.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GrapeCity.Documents.Pdf --version 6.2.0                
#r "nuget: GrapeCity.Documents.Pdf, 6.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install GrapeCity.Documents.Pdf as a Cake Addin
#addin nuget:?package=GrapeCity.Documents.Pdf&version=6.2.0

// Install GrapeCity.Documents.Pdf as a Cake Tool
#tool nuget:?package=GrapeCity.Documents.Pdf&version=6.2.0                

GrapeCity Documents for PDF

GrapeCity Documents for PDF (GcPdf) is a powerful PDF library providing a rich set of APIs which allow developers to do fast and memory-efficient PDF processing in C# or VB.NET code. GcPdf's core object model follows the PDF specification, providing programmatic access to PDF elements such as document properties, pages, fonts, annotations and so on. GcPdf also includes powerful high-level features that enable developers to create PDF documents with complex layouts including tables, formatted text and graphics.

GcPdf comes with a full-featured JavaScript PDF viewer/editor control (GcPdfViewer).

Features include:

  • Programmatically create, load, modify, save or inspect PDFs.
  • Support for different PDF standards including ISO 32000 (PDF 2.0).
  • Export PDFs to BMP, GIF, JPEG, PNG or TIFF image formats.
  • Merge or split PDF documents.
  • Powerful text formatting and layout engine with full multi-language support, including RTL (with Kashida in Arabic) and vertical text, Tate Chu Yoko, text flow around objects, and more.
  • Advanced text rendering capabilities including support for Adobe Type 1 fonts and bitmap glyphs in OpenType CJK fonts.
  • Font embedding and sub-setting, with support for True Type, Open Type and WOFF fonts.
  • Add raster (BMP, GIF, ICO, JPEG, JPEG 2000, PNG, TIFF) or vector (SVG, SVGZ) images to PDFs.
  • Create SVG images on the fly, or modify existing SVGs using the provided SVG DOM (document object model).
  • Support for all common graphics drawing and filling operations when rendering PDF pages.
  • Table layout engine for creating complex grid-based layouts with text and graphics.
  • Encryption and security APIs, including incremental updates, PAdES, PKCS #12, ECDSA.
  • Find text, get text map with exact coordinates of all text fragments.
  • Analyze PDFs, fetch logical paragraphs and table data using structure tags or heuristics.
  • Programmatically create and apply redactions to completely erase sensitive data.
  • Support for optional PDF content (layers).
  • Create, modify, fill or flatten AcroForms (PDF Forms).
  • Linearize PDFs for faster web viewing.

GcPdf is compatible with .NET 7, .NET 6, .NET Core 3.1, .NET Standard 2.x, .NET Framework 4.6.1 or higher.

All features are fully supported on Windows, macOS and Linux.

Resources

GrapeCity Document APIs

GrapeCity Document JavsScript Viewers

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (27)

Showing the top 5 NuGet packages that depend on GrapeCity.Documents.Pdf:

Package Downloads
GrapeCity.ActiveReports.Core.Export.Pdf.Page

ActiveReports PDF export library

GrapeCity.ActiveReports.Export.Pdf

ActiveReports is a set of assemblies that enable you to create, render, print, and export reports in a .NET or .NET Core application. This package includes the core engine assemblies required to create and render pixel perfect, WYSIWYG, reports.

GrapeCity.ActiveReports.Core.Export.Pdf.Section

ActiveReports RDF document PDF rendering implementation

GrapeCity.Documents.Excel

GrapeCity Documents for Excel is a high-speed, small-footprint spreadsheet API that requires no dependencies on Excel. With full .NET 6 support, you can generate, load, modify, and convert spreadsheets in .NET 6, .NET Framework, .NET Core, Mono, and Xamarin. Apps using this spreadsheet API can be deployed to cloud, Windows, Mac, or Linux. Its powerful calculation engine and breadth of features means you’ll never have to compromise design or requirements. We model our interface-based API on Excel's document object model. This means that you can import, calculate, query, generate, and export any spreadsheet scenario. Using GcExcel, you can create full reports, sorted and filtered tables, sorted and filtered pivot tables, dashboard reports, add charts, sparklines, conditional formats, import and export Excel templates and also convert spreadsheets to PDF. The online Documents for Excel sample browser is available at https://www.grapecity.com/documents-api-excel/demos

GrapeCity.ActiveReports.Web.Viewer

ActiveReports is a set of assemblies that enable you to create, render, print, and export reports in a .NET or .NET Core application. This package includes assemblies needed to display reports in report viewers. Multiple viewers are included for your convenience. Among them are viewers for Windows Forms, WPF, ASP.NET, Blazor, and JavaScript. These viewers are customizable and include printing and exporting features.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
7.2.3 1,078 10/9/2024
7.2.2 1,525 9/20/2024
7.2.1 783 9/3/2024
7.2.0 7,723 8/19/2024
7.1.4 3,981 7/24/2024
7.1.3 6,385 6/26/2024
7.1.2 22,389 5/29/2024
7.1.1 14,797 4/24/2024
7.1.0 23,476 4/15/2024
7.0.4 4,588 3/22/2024
7.0.3 4,833 2/21/2024
7.0.2 3,208 1/25/2024
7.0.1 4,097 1/5/2024
7.0.0 45,126 12/11/2023
6.2.5 13,638 11/23/2023
6.2.4 40,044 10/27/2023
6.2.3 19,691 9/28/2023
6.2.2 26,933 9/13/2023
6.2.1 23,824 8/17/2023
6.2.0 12,253 8/7/2023
6.1.5 10,745 7/12/2023
6.1.4 33,261 6/20/2023
6.1.3 7,702 6/1/2023
6.1.2 87,385 5/8/2023
6.1.0 31,958 4/16/2023
6.0.7 4,571 4/7/2023
6.0.6 53,417 3/23/2023
6.0.5 57,261 2/28/2023
6.0.4 13,030 2/6/2023
6.0.3 42,010 1/20/2023
6.0.2 9,586 1/3/2023
6.0.1 2,579 12/27/2022
6.0.0 66,388 12/12/2022
5.2.0.805 42,073 12/9/2022
5.2.0.804 27,413 11/2/2022
5.2.0.803 98,227 10/10/2022
5.2.0.802 79,779 9/16/2022
5.2.0.801 8,455 8/24/2022
5.2.0.800 31,865 8/15/2022
5.1.0.796 26,087 7/29/2022
5.1.0.795 4,052 7/15/2022
5.1.0.793 20,272 6/10/2022
5.1.0.792 8,580 5/23/2022
5.1.0.791 10,990 4/29/2022
5.1.0.790 48,037 4/19/2022
5.0.0.776 21,446 4/7/2022
5.0.0.775 21,422 3/21/2022
5.0.0.774 31,842 3/2/2022
5.0.0.773 6,014 2/16/2022
5.0.0.770 14,924 1/24/2022
5.0.0.767 15,740 12/24/2021
5.0.0.762 46,809 12/13/2021
4.2.0.727 169,529 12/3/2021
4.2.0.726 162,090 10/29/2021
4.2.0.722 10,878 10/13/2021
4.2.0.719 4,800 9/23/2021
4.2.0.717 14,106 8/31/2021
4.2.0.715 39,968 8/16/2021
4.1.0.664 4,075 8/6/2021
4.1.0.663 44,761 7/6/2021
4.1.0.662 6,148 6/16/2021
4.1.0.660 8,057 5/19/2021
4.1.0.658 8,943 4/27/2021
4.0.0.633 12,099 4/1/2021
4.0.0.632 8,649 2/24/2021
4.0.0.625 10,538 1/26/2021
4.0.0.623 2,932 1/8/2021
4.0.0.619 78,039 12/8/2020
4.0.0.616 6,779 11/19/2020
3.2.0.560 112,961 12/30/2020
3.2.0.559 7,476 12/4/2020
3.2.0.558 13,745 10/29/2020
3.2.0.556 15,893 9/29/2020
3.2.0.554 7,155 9/7/2020
3.2.0.553 2,501 9/4/2020
3.2.0.550 50,944 8/11/2020
3.2.0.548 7,898 7/20/2020
3.1.0.519 21,554 7/3/2020
3.1.0.518 7,737 6/18/2020
3.1.0.514 6,452 6/2/2020
3.1.0.513 7,699 5/7/2020
3.1.0.512 14,813 4/22/2020
3.1.0.511 8,917 4/9/2020
3.1.0.508 12,977 3/5/2020
3.0.0.420 16,462 1/13/2020
3.0.0.419 3,710 1/3/2020
3.0.0.418 7,845 12/8/2019
3.0.0.415 10,456 11/14/2019
3.0.0.414 7,184 10/24/2019
2.2.0.320 13,117 2/4/2020
2.2.0.319 20,191 11/7/2019
2.2.0.318 2,029 11/6/2019
2.2.0.317 2,396 10/12/2019
2.2.0.316 4,500 9/20/2019
2.2.0.315 6,731 8/21/2019
2.2.0.314 3,346 8/5/2019
2.2.0.312 7,805 7/11/2019
2.2.0.310 5,598 6/9/2019
2.1.0.267 3,414 4/24/2019
2.1.0.265 4,304 3/25/2019
2.1.0.263 2,890 3/12/2019
2.1.0.262 7,133 3/1/2019
2.1.0.260 3,526 1/25/2019
2.0.0.208 2,811 12/18/2018
2.0.0.207 5,836 12/5/2018
2.0.0.206 2,804 11/21/2018
2.0.0.205 2,916 11/13/2018
2.0.0.201 3,040 10/24/2018
2.0.0.200 3,332 9/28/2018
1.0.0.107 5,383 5/15/2018
1.0.0.105 4,182 5/1/2018
0.3.0.81-beta01 2,321 3/12/2018
0.3.0.71-beta01 1,913 2/24/2018
0.3.0.70-beta01 1,973 2/9/2018

# Changes since version 6.1.5:

## Breaking Changes
- The stream that is passed to one of GcPdfDocument.Load() method overloads must 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 (see below). Instead, create a new instance of the collection and assign it to the property.
- WidgetAnnotation.TextFormat property 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 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 changed from string to IPdfName.
- GrapeCity.Documents.Pdf.Text.CMap.CMap class renamed to CMapTable, CMapBase class removed.
- GrapeCity.Documents.Pdf.Actions.ActionHide.LinkedObjects property type 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 changed from List<string> FieldNames { get; } to IList<IFieldDef> Fields { get; }.
- Properties ViewerPreferences.PageMode and ViewerPreferences.PageLayout marked as obsolete, corresponding properties are now available directly on GcPdfDocument: GcPdfDocument.PageMode and GcPdfDocument.PageLayout.
- Property WidgetAnnotation.TriggerEvents.Activate marked as obsolete, corresponding property is now available directly on WidgetAnnotation: WidgetAnnotation.Activate.
- GrapeCity.Documents.Pdf.Annotations.PolygonAnnotationBase.Points property type 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 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 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 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 changed from ObservableCollection<Quadrilateral> to IReadOnlyList<Quadrilateral>. To change the value, create a new instance of the collection and assign it to the property.
- Now even if an annotation belongs to several pages, its vertical coordinate is 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 changed from IList<byte> to IPdfString.
- PdfIndirectSerializableObject class was 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 changed from IDictionary<string, Destination> to IDictionary<string, IDestination>. The IDestination interface is common to Destination and ActionGoTo classes.
- PdfLang type was removed, all properties that previously had that type are now of the type string.
- ICCProfile.IsSame() method was removed.
- GrapeCity.Documents.Pdf.Annotations.UnknownAnnotation.Subtype property type changed from string to PdfName.
- PdfDictWrapperObject class was removed, use PdfDictWrapper instead.
- CheckBoxField.ValueObj property behavior 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.

## Changed
- 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 preserved as is, improved average load speed. (DOC-1781)

## Added
- Ability to open/modify (with limitations) password a protected PDF without specifying the password, see GcPdfDocument.Load(stream, DecryptionOptions) overload. (DOC-3410)
- Helper methods to TextBoxField, ComboBoxField and CombTextField: SetPercentFormat(), SetPercentValue(), SetNumberFormat(), SetNumberValue(), SetDateFormat(), SetDateValue(), SetTimeFormat(), SetTimeValue(), SetSpecialFormat(), SetSpecialFormatValue(). (DOC-5076)
- Ability to generate custom time-stamp tokens. The new ITimeStampGenerator interface can be implemented by user and assigned to SignatureProperties.TimeStamp and TimeStampProperties.TimeStamp.

## Fixed
- Several issues related to errors when opening existing PDFs. (DOC-2111, DOC-3923, DOC-4096, DOC-5461)