Spire.PDF for .NET
.NET PDF API - Developing PDF in C#, VB.NET, ASP.NET
- Overview
- Features
- Examples
- Guideline
- Support
- What's New
- Live Demo

Spire.PDF for .NET is a professional PDF API applied to creating, writing, editing, handling and reading PDF files without any external dependencies within .NET (C#, VB.NET, ASP.NET, .NET Core, .NET 5.0, .NET 6.0, .NET 7.0, MonoAndroid and Xamarin.iOS) application. Using this .NET PDF library, you can implement rich capabilities to create PDF files from scratch or process existing PDF documents entirely through C#/VB.NET without installing Adobe Acrobat.
Many rich features can be supported by the .NET PDF API, such as adding digital signature, including timestamp in signature, adding dynamic/image stamp, adding text/image watermark, creating PDF Portfolio, extracting text/attachment/images, PDF merging/spliting, metadata updating, section, graph/image drawing and inserting, table creation and processing, cropping pages, copying pages, and importing data etc.
Spire.PDF for .NET can be applied to easily converting PDF to Word Doc/Docx, Excel, PowerPoint, images, HTML, Markdown, XPS, SVG, TIFF, PCL, PostScript and PDF/A etc. It also supports to convert Text, images, TIFF, XPS, SVG and HTML to PDF with C#/VB.NET in high quality.
-
Convert
-
Compress
-
Extract
-
Protect
-
eSign
-
Form
-
Watermark
-
Merge & Split
-
Layer
-
Adjust
Convert PDF to Word
PDF is considered an ideal file format for document sharing and printing, but it is difficult to edit. If you want to modify the text in a PDF file, you can convert it to Word.

Compress PDF
Compressing PDFs can reduce their size by 10 to 100 times, thus saving you a lot of storage space and making PDF documents easier to transfer over the Internet.

Extract Text and Images
When you just need to get the information in a PDF document regardless of its format and structure, you can simply extract the text and images from the document.

PDF Encryption
PDF encryption is a crucial task when it comes to sharing confidential documents on the Internet. Using Spire.PDF, you can set a password to restrict access to your PDF file, or set permissions to define what actions users can perform on the document.

Digitally Sign PDF
A digital signature provides assurances about the validity and authenticity of your PDF documents. Once a PDF document is digitally signed, any changes to the document will invalidate the signature.

Create a Form
Form fields make it easier to collect information. Users can enter information by choosing an item from a drop-down list, inserting text in a combo box, or checking a check box.

Add a Watermark to PDF
Watermarks in PDFs serve many important purposes, such as identifying the document's owner, indicating its status and preventing unauthorized copying and distribution.

Merge and Split PDF
Sometimes, you might need to merge multiple PDF files into one in order to store and review them easier. Likewise, you may also want to split a PDF file into individual files and share them with others separately.

Add Layers to PDF
PDF layer is an interactive feature for PDF documents that allows some part of the content to be made visible or hidden. Layers are used for items such as CAD drawings, layered artwork, maps, and multi-language documents.

Change PDF Page Size
By adjusting the page size of a PDF document, you can easily get a better document appearance or make the page size match the printing paper.

.NET
Standalone .NET API
100% independent .NET PDF class library
which doesn't require Adobe Acrobat
to be installed on system.
VERSION
- PDF 1.2 to PDF 1.7
- PDF/A - 1b
- PDF/x1a
- PDF/A1
- PDF/A2
- PDF/A3
- PDF/UA
FONT
- 14 Core Fonts
- Type 1 Fonts
- Type 3 Fonts
- CJK Fonts
- True Type Fonts
- Unicode Support
OPERATION
Powerful Toolset, Multichannel Support
-
Create, get and verify, remove digital signature
-
Encrypt and Decrypt PDF file
-
Image and Shape
-
Create & Fill Form Field
-
Merge and Split PDF document
-
Manage attachment
-
Manage bookmark
-
Manage annotation
-
Text & image watermark
-
Find & Highlight
-
Insert Hyperlink
-
Compress PDF
-
Extract text and image
-
Header and Footer
-
Create & Format Table
-
Print PDF file
-
Tagged PDF
CONVERSION
Convert File Documents with High Quality
-
SVG
-
TXT
-
XPS
-
HTML
-
Image



-
PPTX
-
Excel
-
Word
-
PCL
-
PDF/A
-
PNG
-
BMP
-
JPEG
-
EMF
-
TIFF
MAIN FUNCTION
High Fidelity PDF File Conversion
Spire.PDF for .NET supports converting HTML, XPS, Text, Image to PDF, and converting PDF to Excel with efficient performance. Developers can transform PDF to Word, XPS, SVG, EMF, JPG, PNG, BMP, TIFF, HTML, Markdown, PostScript, PCL (Printer Command Language) and Text format. Furthermore, along with Spire.Doc for .NET and Spire.XLS for .NET, developers can convert Word (Doc/Docx), Excel (Xls/Xlsx) and XML to PDF.Easily Manipulate
Document and Form Fields
Security Features
Spire.PDF for .NET can protect PDF documents by setting passwords, adding digital signature and including timestamp in signature. User password and owner password can determine the encrypted PDF documents readability, modifiability, printability and other selective restrictions. Meanwhile, digital signature, as a more effective method, can be applied to safeguard and authenticate PDF documents.Extract Data
from PDF Documents
Document Settings Features
Document information can be set with Spire.PDF for .NET including custom metadata, document properties, change page size, get page size, orientation and potation of PDF. Wherein, document properties consist of document restrictions (printing, document assembly, page extraction, comment etc. allowed or not) and document description about file title, author, subject, keywords and so on. By using Spire.PDF for .NET, viewer preferences can be set with position, title display, resize, page mode and print scaling etc.Pro Edition $999
Spire.PDF for .NET can be applied to easily convert Text, Image, SVG, HTML to PDF and convert PDF to Excel with C#/VB.NET in high quality.
Free Edition $0
Free version is limited to 10 pages of PDF. This limitation is enforced during loading and creating files. When converting PDF to Image, the first 3 pages of PDF files will be converted to Image format successfully.
GET STARTED
Free Trials for All Progress Solutions
Support Environment
- Fully written in C# and also support VB.NET
- Applied on .NET Framework 2.0, 3.5, 3.5 Client Profile, 4.0, 4.0 Client Profile,4.5 and .NET Standard 2.0, .NET Core, .NET 5.0, .NET 6.0, MonoAndroid and Xamarin.Ios.
- Support Windows Forms and ASP.NET Applications
- Support 32-bit OS
- Support 64-bit OS
- Support PDF Version 1.2, 1.3, 1.4, 1.5, 1.6 and 1.7
- PDF API reference in HTML
- Be Independent and do not need Adobe Acrobat or other third party pdf libraries
Conversion
- Convert Webpage HTML, HTML ASPX to PDF
- Convert Image(Jpeg, Jpg, Png, Bmp, Tiff, Gif, EMF, Ico) to PDF
- Convert Text to PDF
- Convert PDF to HTML
- Convert XPS to PDF
- Convert PDF to SVG
- Convert PDF to XPS
- Convert PDF to Image
- Convert PDF to Word
Security
- Encrypt PDF(Owner Passwords and User Passwords)
- Decrypt PDF
- Create PDF Digital Signature
- Modify PDF Passwords (Owner Passwords and User Passwords)
Text
- Draw Text
- Set Text Format(font, size, color, layout, rotate, transform, alignment, transparency)
- Read/Extract Text (Whole Page, Certain Page, Particular Pages)
Fonts
- 14 Core Fonts
- Type 1 Fonts
- Type 3 Fonts
- True Type Fonts
- CJK Fonts
- Unicode Support(Part)
Images
- Draw Image
- Draw Special Shapes(lines, Rectangles, Circles, Arcs, Ellipses, Five-Pointed Star)
- Read/Extract Images(Jpeg, Jpg, Png, Bmp, Tiff, Gif, EMF, Ico)
Attachments
- Add Attachments
- Add Attachments with Attachments Annotations
- Remove Attachments
- Read/Extract Attachments
- Read/Extract Attachments with Attachments Annotations
- Get Attachments Properties
Tables
- Simple Table
- Image Table
- Nested Table
- Export Database Table and Pictures to PDF
- Set Table Layout
Bookmarks
- Add Bookmarks
- Add Child Bookmarks
- Get Bookmarks
- Get Child Bookmarks
- Clear Bookmarks
- Modify Bookmarks
- Modify Child Bookmarks
List
- Simple List
- Ordered List
- Multiple levels List
Header and Footer
- Add Text in Header
- Add Text in Footer
- Add Image in Header
- Add Image in Footer
Watermark
- Add Text Watermark
- Add Image Watermark
- Modify Text Watermark
- Modify Image Watermark
Links and Actions
- Add Hyperlinks(Plain Link and Anchor Link)
- Work with Action
- Work with Javascript Action
- Work with Action Chain
- Work with Action Annotation
FormField
- Add Fields(Text Box, Check Box, List box, Combo Box, Button, Radio Button)
- Remove Fields
- Edit Fields
- Fill Fields
Pages
- Add PDF Pages
- Add Empty Page in PDF
- Delete PDF Pages
- Read/Extract PDF Pages
- Set Page Number
- Get Page Count
- Paginate Pages
- Set Page Transition
- Set Page Label
- Set Page Orientation
- Set Page Transparency
- Set Page Overlay
- Create PDF Booklet
- Draw PDF Barcode
Document
- Set PDF Properties
- Set PDF View Preference
- Set PDF Template
- Merge PDF Files
- Split PDF File(by one page and any range of pages)
Feature Details
Feature | Support | Feature | Support | |
Drawing Text | Standards | |||
Text Formatting | √ | PDF/ A-1b Compliance | √ | |
Multilingual Support | √ | PDF/x1a: 2001 Compliance | √ | |
Text Extraction (Only for .NET) | √ | Fonts | ||
Graphics | Standard Fonts | √ | ||
Pen and Brush | √ | CJK Fonts | √ | |
Layers (Only for .NET) | ** | True Type Fonts | √ | |
Transparent Graphics | √ | Unicode True Type | √ | |
Color Spaces | ** | Images | ||
Image Extraction | √ | Scalar Images | √ | |
Transform | √ | Mask | √ | |
Bar code (Only for .NET) | √ | Vector Images | √ | |
Document Operations | Watermarks | √ | ||
Merge Documents | √ | Data Management | ||
Split Document (Only for .NET) | √ | ADO.Net Tables Support (Only for .NET) | √ | |
Overlay Documents | √ | Rich Table Styles | √ | |
Import and Stamp | √ | Table Features (Only for .NET) | √ | |
Booklet | √ | Page Operations | ||
Document Settings | Headers and Footers | √ | ||
Custom Metadata | √ | Page Label | √ | |
Document Properties | √ | Automatic Fields | √ | |
Page Orientation | √ | Interactive Elements | ||
Page Sizes | √ | Annotation | √ | |
Viewer Preferences | √ | Action | √ | |
Forms | JavaScript | √ | ||
Create Form | √ | Attachment | √ | |
Form Filling | √ | Bookmark | √ | |
Form Export | ** | Security | ||
Conversion | Digital Signature | √ | ||
HTML to PDF | √ | Encryption | √ | |
Doc To PDF (Spire.Doc required) | √ | Decryption | √ |
** Partial supported
Note: Transparent Graphics is Partial Supported for Silverlight
Request free customized demo just for you. |
High Quality Conversion
Convert PDF to DocTutorials / Orginial PDF and Doc fileTable Layout
Set PDF Table LayoutTutorials / C# CodeMerge/Split PDF documents
Merge PDF documentsTutorials / C# CodeForm Filling
Form FillingTutorials / C# CodeText, Image Extract from PDF
Read Text and Images from PDFTutorials / C# CodeEncrypt, Decrypt, Create PDF Digital Signature in PDF
Encrypt PDF DocumentTutorials / C# CodeAdd PDF Header and Footer
Add PDF HeaderTutorials / C# Code
Beginners Guide is the first step towards learning the basic information of Spire.PDF for .NET |
Program Guide lists the detailed features of our Spire.PDF for .NET and you can search for the information you want. |
The Videos give an operation guide by video. You can check the produce step by step. |
|||||||||||
Frequently asked question for Spire.PDF of technical and function issues. |
We guarantee one business day Forum questions Reply. |
We guarantee one business day E-mail response. |
|||||||||||
Free Customized service for OEM Users. |
Skype name: iceblue.support |
Apply for a Free Trial License File. |
|||||||||||
- It relates to our components stored on E-iceblue online store.
- It costs less than 2 hours for us to complete it. If it costs more than 2 hours, please contact our [email protected]
This is the list of changelogs of Spire.PDF New release and hotfix. You can get the detail information of each version's new features and bug solutions.
Hot Fix Version: 11.3
Category | ID | Description |
Bug | SPIREPDF-6717 | Fixes the issue that removing the checkbox's background color and border did not take effect. |
Bug | SPIREPDF-7348 | Fixes the issue that standards validation failed when converting PDF to A1A and A1B. |
Bug | SPIREPDF-7352 | Fixes the issue that button field actions could not be obtained. |
Bug | SPIREPDF-7355 | Fixes the issue that transparency was incorrect when setting background colors. |
Bug | SPIREPDF-7356 | Fixes the issue that the number of annotations in a PDF document was not correctly retrieved. |
Bug | SPIREPDF-7358 | Fixes the issue that extra content appeared when extracting text from PDF tables. |
Bug | SPIREPDF-7366 | Fixes the issue that the program threw the exception System.NullReferenceException: "Object reference not set to an instance of an object." when getting the destination of bookmarks. |
Bug | SPIREPDF-7375 | Fixes the issue that the multiline content added into textbox fields was being truncated. |
Hot Fix Version: 11.2.4
Category | ID | Description |
New feature | SPIREPDF-7255 | Supports replacing text in specific areas using PdfTextReplacer.
PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(inputFile); for (int i = 0; i < pdf.Pages.Count; i++) { PdfPageBase page = pdf.Pages[i] ; PdfTextReplacer replacer = new PdfTextReplacer(page); PdfTextReplaceOptions replaceOptions = new PdfTextReplaceOptions(); RectangleF rectangle = new RectangleF(10, 0, 841, 150); replaceOptions.SetReplacementArea(rectangle); replaceOptions.ReplaceType = PdfTextReplaceOptions.ReplaceActionType.IgnoreCase; replacer.Options = replaceOptions; replacer.ReplaceAllText("sql", "123456"); } pdf.SaveToFile(outputFile); pdf.Dispose(); |
New feature | SPIREPDF-7292 | Supports retrieving bookmark information from Action links.
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(inputFile); PdfFormWidget formWidget = (PdfFormWidget)doc.Form; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("btnAction:"); for (int i = 0; i < formWidget.FieldsWidget.Count; ++i) { var field = formWidget.FieldsWidget[i] as PdfButtonWidgetFieldWidget; if (field.Actions.MouseUp != null && field.Actions.MouseUp is PdfNamedAction) { var aaa = (PdfNamedAction)field.Actions.MouseUp; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseUp-" + aaa.Destination.ToString()); } else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfNamedAction) { var aaa = (PdfNamedAction)field.Actions.MouseDown; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown--" + aaa.Destination.ToString()); } else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfUriAction) { var aaa = (PdfUriAction)field.Actions.MouseDown; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown--" + aaa.Uri.ToString()); } else if (field.Actions.MouseUp != null && field.Actions.MouseUp is PdfUriAction) { var aaa = (PdfUriAction)field.Actions.MouseUp; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseUp-" + aaa.Uri.ToString()); } else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfGotoNameAction) { var aaa = (PdfGotoNameAction)field.Actions.MouseDown; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown-" + aaa.Destination.ToString()); } } File.WriteAllText(outputFile, stringBuilder.ToString()); doc.Dispose(); |
New feature | SPIREPDF-7345 | Supports returning the count of replacements made by PdfTextReplacer.ReplaceAllText.
PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(inputFile); PdfPageBase page = pdf.Pages[0]; PdfTextReplacer replacer = new PdfTextReplacer(page); int count = replacer.ReplaceAllText("SQL", "ABC"); |
Bug | SPIREPDF-6551 | Optimizes the PDF compression function of PdfCompressor. |
Bug | SPIREPDF-7061 SPIREPDF-7082 |
Fixes the issue that the PDF printing effect was incorrect. |
Bug | SPIREPDF-7313 | Fixes the issue that the display effect of multi-line text in PdfTextBoxField was incorrect. |
Bug | SPIREPDF-7320 | Fixes the issue that the PDF-to-image conversion effect was incorrect. |
Bug | SPIREPDF-7325 | Fixes the issue that characters overlapped after converting PDF to HTML. |
Bug | SPIREPDF-7342 | Fixes the issue that the exception “System.NullReferenceException” was thrown when merging documents. |
Hot Fix Version: 11.1.5
Category | ID | Description |
Bug | SPIREPDF-7051 | Fixes the issue that the content was incorrect when printing PDF. |
Bug | SPIREPDF-7159 SPIREPDF-7294 |
Fixes the issue that replacing text caused some text to be lost. |
Bug | SPIREPDF-7211 | Fixes the issue that the program suspended when saving PDF. |
Bug | SPIREPDF-7221 | Fixes the issue that modifying the value of text fields consumed a long time. |
Bug | SPIREPDF-7249 | Fixes the issue that some Chinese characters were garbled after converting PDF to XPS. |
Bug | SPIREPDF-7275 | Fixes the issue that converting PDF to grayscale PDF consumed a long time. |
Bug | SPIREPDF-7278 | Fixes the issue that the result was incorrect when converting PDF to Excel. |
Bug | SPIREPDF-7312 | Fixes the issue that the value of the field disappeared when the mouse entered the field after filling the text box field. |
Hot Fix Version: 11.1.0
Category | ID | Description |
Bug | SPIREPDF-7162 | Fixes the issue that multi-threaded PDF text extraction error happened. |
Bug | SPIREPDF-7201 | Fixes the issue that there were incorrect links when converting XPS to PDF. |
Bug | SPIREPDF-7235 | Fixes the issue that extracting incorrect content from PDF tables. |
Bug | SPIREPDF-7246 | Fixes the issue that some content turned black when converting PDF to PNG. |
Bug | SPIREPDF-7248 | Fixes the issue that HTML documents were too large when converting PDF to HTML. |
Bug | SPIREPDF-7250 | Fixes the issue that annotation content wasn't displayed when converting PDF to XPS. |
Bug | SPIREPDF-7264 | Fixes the issue that content was lost when converting PDF to images. |
Bug | SPIREPDF-7279 SPIREPDF-7301 |
Fixes the issue that there were incorrect fonts when converting PDF to SVG. |
Bug | SPIREPDF-7280 | Fixes the issue that character spaces were missed when converting XPS to PDF. |
Bug | SPIREPDF-7286 | Fixes the issue that the program threw an "Object reference not set to an instance of an object." exception when loading PDF documents. |
Bug | SPIREPDF-7288 | Fixes the issue that seal content was cut when converting PDF to OFD. |
Bug | SPIREPDF-7289 | Fixes the issue that the program threw an "Object reference not set to an instance of an object." exception when converting PDF to grayscale PDF. |
Hot Fix Version: 10.12.4
Category | ID | Description |
New feature | SPIREPDF-7034 | Supports setting automatic rotation orientation when performing multi-page printing.
PdfMultiPageLayout printParameters = pdf.PrintSettings.SelectMultiPageLayout(1, 2); printParameters.AutoRotate = true; pdf.PrintSettings.Duplex = Duplex.Horizontal; |
New feature | SPIREPDF-7197 | Supports retrieving the jump-to page associated with a button.
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(inputFile); PdfFormWidget formWidget = (PdfFormWidget)doc.Form; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("btnAction:"); for (int i = 0; i < formWidget.FieldsWidget.Count; ++i) { var field = formWidget.FieldsWidget[i] as PdfButtonWidgetFieldWidget; if (field.Actions.MouseUp != null && field.Actions.MouseUp is PdfNamedAction) { var mouseUp = (PdfNamedAction)field.Actions.MouseUp; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseUp-" + mouseUp.Destination.ToString()); } else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfNamedAction) { var mouseDown = (PdfNamedAction)field.Actions.MouseDown; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown--" + mouseDown.Destination.ToString()); } else if (field.Actions.MouseDown != null && field.Actions.MouseDown is PdfUriAction) { var mouseDown = (PdfUriAction)field.Actions.MouseDown; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseDown--" + mouseDown.Uri.ToString()); } else if (field.Actions.MouseUp != null && field.Actions.MouseUp is PdfUriAction) { var mouseUp = (PdfUriAction)field.Actions.MouseUp; stringBuilder.AppendLine(formWidget.FieldsWidget[i].Name + "-MouseUp-" + mouseUp.Uri.ToString()); } } File.WriteAllText(outputFile, stringBuilder.ToString()); doc.Dispose(); |
Bug | SPIREPDF-7169 | Fixes the issue that content was lost when printing PDF documents. |
Bug | SPIREPDF-7182 | Fixes the issue that colors were incorrect when printing PDF documents. |
Bug | SPIREPDF-7185 | Fixes the issue that form field flattening failed. |
Bug | SPIREPDF-7195 | Fixes the issue that the System.NullReferenceException: 'Object reference not set to an instance of an object.' occurred when converting PDF to SVG. |
Bug | SPIREPDF-7203 | Fixes the issue that text content missed when converting PDF to images. |
Bug | SPIREPDF-7208 | Fixes the issue that the generated PDFA documents did not comply with PDF version standards. |
Bug | SPIREPDF-7232 | Fixes the issue that only the watermark on the first page could be deleted when removing PdfWatermarkAnnotationWidget. |
Bug | SPIREPDF-7240 | Fixes the issue that the System.IndexOutOfRangeException: 'Index was outside the bounds of the array.' occurred when converting PDF to PDFA3A. |
Hot Fix Version: 10.11.7
Category | ID | Description |
New feature | SPIREPDF-7135 | Supports returning an array of region values for PdfTextMarkupAnnotationWidget.
// Create a PdfDocument object PdfDocument doc = new PdfDocument(); // Load a PDF file doc.LoadFromFile(inputFile); // Initialize a StringBuilder to store extracted text StringWriter highlightedTextWriter = new StringWriter(); // Loop through each page in the document foreach (PdfPageBase page in doc.Pages) { // Get all annotations on the page PdfAnnotationCollection annotations = page.Annotations; // Loop through the annotations foreach (PdfAnnotation annotation in annotations) { // Check if the annotation is a highlight annotation if (annotation is PdfTextMarkupAnnotationWidget highlightAnnotation) { if (highlightAnnotation.TextMarkupAnnotationType == PdfTextMarkupAnnotationType.Highlight) { PdfBrush brush = PdfBrushes.Red; PdfPen pen = new PdfPen(brush, 1f); for (int i = 0;i |
Bug | SPIREPDF-7049 | Fixed the issue that the program threw an "ArgumentException" error when converting XPS to PDF. |
Bug | SPIREPDF-7125 SPIREPDF-7156 |
Fix the issue that the content is displayed incompletely after converting SVG to PDF. |
Bug | SPIREPDF-7147 | Fix the issue that the signature verification was not correct. |
Bug | SPIREPDF-7172 | Fix the issue that the content was lost after converting PDF to images. |
Bug | SPIREPDF-7178 | Fix the issue that the program threw an "ObjectDisposedException" error when converting PDF to Markdown. |
Bug | SPIREPDF-7183 | Fixed the issue that the content was incorrect when printing PDF documents. |
Hot Fix Version: 10.11.1
Category | ID | Description |
New feature | SPIREPDF-7145 | Supported the functionality to extract video and audio from PDF documents.
PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(inputFile); for (int i = 0; i < pdf.Pages.Count; i++) { PdfPageBase page = pdf.Pages[i]; PdfAnnotationCollection ancoll = page.Annotations; for (int j = 0; j < ancoll.Count; j++) { PdfRichMediaAnnotationWidget MediaWidget = ancoll[j] as PdfRichMediaAnnotationWidget; byte[] data = MediaWidget.RichMediaData; string embedFileName = MediaWidget.RichMediaName; File.WriteAllBytes(outputFile + embedFileName,data); } } |
Bug | SPIREPDF-6786 | Fixes the issue that highlighting text did not work correctly. |
Bug | SPIREPDF-7055 | Fixes the issue that the program threw "Cannot find table 'loca' in the font file" when loading SVG. |
Bug | SPIREPDF-7114 | Fixes the issue that merging PDF documents failed to work. |
Bug | SPIREPDF-7126 | Fixes the issue that page size could not be set using PageSettings.PaperFormat when using ChromeHtmlConverter to convert HTML to PDF. |
Bug | SPIREPDF-7129 | Fixes the issue that the result of PdfDocument.Conformance was incorrect. |
Bug | SPIREPDF-7133 | Fixes the issue that the result of signature validity verification was incorrect. |
Bug | SPIREPDF-7144 | Fixes the issue that the result of bookmark style modification was incorrect. |
Bug | SPIREPDF-7148 | Optimizes the time consumption of PDF to image conversion. |
Hot Fix Version: 10.10.5
Category | ID | Description |
New feature | SPIREPDF-7014 | Adds the Logger class that supports logging output when converting HTML to PDF using Chrome plugin.
ChromeHtmlConverter converter = new ChromeHtmlConverter(TestUtil.ChromiumPath); converter.Logger = new Logger(logFilePath); //Enable IsEnabled to output logs to the console //Logger.IsEnabled = true; ConvertOptions options = new ConvertOptions(); |
New feature | SPIREPDF-7104 | Supports creating PdfAttachmentAnnotation and adding an author.
annotation.Title = "test"; |
Bug | SPIREPDF-5473 | Fixes the issue that the bold fonts were not correctly applied when converting PDF document to PdfX1A2001 document. |
Bug | SPIREPDF-7044 | Fixes the issue that the Bounds for vertical text were not obtained correctly. |
Bug | SPIREPDF-7066 | Fixes the issue that the application threw "NullReferenceException" when converting PDF document to LinearizedPdf document. |
Bug | SPIREPDF-7079 | Fixes the issue that the application threw "An item with the same key has already been added" exception during multi-threaded extraction of text from PDF pages. |
Bug | SPIREPDF-7110 | Fixes the issue that the application threw a "DivideByZeroException" when calling the SetPdfToHtmlOptions method in multi-threaded scenarios. |
Bug | SPIREPDF-7111 | Fixes the issue that the output result was incorrect when converting OFD document to PDF document and then saving them as XPS. |
Bug | SPIREPDF-7119 | Fixes the issue that the program would hang while reading fonts from PDF document. |
Hot Fix Version: 10.10.0
Category | ID | Description |
New feature | SPIREPDF-7003 | Supports ignoring images when converting PDF to Markdown.
PdfToMarkdownConverter converter = new PdfToMarkdownConverter(inputFile); converter.MarkdownOptions.IgnoreImage = true; converter.ConvertToMarkdown(outputFile); |
New feature | SPIREPDF-7030 | Extends the PdfMDPSignatureMaker class to support passing an IPdfSignatureFormatter object.
PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(inputFile); X509Certificate2 cert = new X509Certificate2(inputFile_pfx, "e-iceblue"); IPdfSignatureFormatter formatter = new PdfPKCS7Formatter(cert, false); PdfMDPSignatureMaker pdfMDPSignatureMaker = new PdfMDPSignatureMaker(pdf, formatter); PdfSignature signature = pdfMDPSignatureMaker.Signature; signature.Name = "e-iceblue"; signature.ContactInfo = "028-81705109"; signature.Location = "chengdu"; signature.Reason = " this document"; PdfSignatureAppearance appearance = new PdfSignatureAppearance(signature); appearance.NameLabel = "Signer: "; appearance.ContactInfoLabel = "ContactInfo: "; appearance.LocationLabel = "Loaction: "; appearance.ReasonLabel = "Reason: "; pdfMDPSignatureMaker.MakeSignature("signName", pdf.Pages[0], 100, 100, 250, 200, appearance); pdf.SaveToFile(outputFile, FileFormat.PDF); pdf.Dispose(); |
New feature | SPIREPDF-7030 | Supports signing existing signature fields using either the PdfOrdinarySignatureMaker class or the PdfMDPSignatureMaker class.
PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile(inputFile); PdfFormWidget widgets = pdf.Form as PdfFormWidget; for (int i = 0; i < widgets.FieldsWidget.List.Count; i++) { PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget; if (widget is PdfSignatureFieldWidget) { string originalName = widget.Name; X509Certificate2 cert = new X509Certificate2(inputFile_pfx, "e-iceblue"); IPdfSignatureFormatter formatter = new PdfPKCS7Formatter(cert, false); // PdfMDPSignatureMaker signatureMaker = new PdfMDPSignatureMaker(pdf, formatter); PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(pdf, formatter); PdfSignature signature = signatureMaker.Signature; signature.Name = "E-iceblue"; signature.ContactInfo = "028-81705109"; signature.Location = "chengdu"; signature.Reason = "document"; PdfSignatureAppearance appearance = new PdfSignatureAppearance(signature); appearance.NameLabel = "Signer: "; appearance.ContactInfoLabel = "ContactInfo: "; appearance.LocationLabel = "Loaction: "; appearance.ReasonLabel = "Reason: "; appearance.SignatureImage = PdfImage.FromFile(inputFile_Img); appearance.GraphicMode = GraphicMode.SignImageAndSignDetail; signatureMaker.MakeSignature(originalName, appearance); } } pdf.SaveToFile(outputFile); pdf.Dispose(); |
Bug | SPIREPDF-6736 | Fixes the issue that opening the resulting document after converting a PDF document to a PDFA document caused an error. |
Bug | SPIREPDF-6946 | Fixes the issue that the application threw the System.IndexOutOfRangeException: "Index was outside the bounds of the array." exception when converting a PDF document to a PPTX document. |
Bug | SPIREPDF-6948 | Fixes the issue that converting a PDF document to images experienced a decrease in speed. |
Bug | SPIREPDF-7006 | Fixes the issue that validating the validity of signatures always returned false for the first signature. |
Bug | SPIREPDF-7012 | Fixes the issue that the application threw the "Object reference not set to an instance of an object" exception when converting an OFD document to a PDF document. |
Bug | SPIREPDF-7013 | Fixes the issue that the application threw the "Invalid font weight value: 681" exception when converting an OFD document to a PDF document. |
Bug | SPIREPDF-7027 | Fixes the issue that converting an OFD document to a PDF document resulted in content loss. |
Bug | SPIREPDF-7032 | Fixes the issue that the application threw the "Object reference not set to an instance of an object" exception when compressing a PDF document. |
Bug | SPIREPDF-7046 | Fixes the issue that the application threw the "NullReferenceException" exception when converting a PDF document to a ToPdfA3B document without applying license. |
Hot Fix Version: 10.9.0
Category | ID | Description |
Bug | SPIREPDF-4562 SPIREPDF-5019 |
Improves the speed of printing PDF documents. |
Bug | SPIREPDF-4445 | Fixes the issue that content is blank when converting PDF documents to images. |
Bug | SPIREPDF-6938 | Fixes the issue that the program throws a System.FormatException: "Header checksum illegal" when compressing PDF documents. |
Bug | SPIREPDF-6969 | Fixes the issue that the program throws a System.NullReferenceException: "Object reference not set to an instance of an object." when converting PDF documents to OFD documents. |
Bug | SPIREPDF-6970 | Fixes the issue that the program throws a System.Exception: "Header of the stream cannot be read." when extracting images. |
Bug | SPIREPDF-6971 | Fixes the issue that the content is incorrect when converting SVG files to PDF documents. |
Bug | SPIREPDF-6974 | Fixes the issue with font errors when converting SVG files to PDF documents. |
Bug | SPIREPDF-6979 | Fixes the issue that the program throws a System.IndexOutOfRangeException: "Index is outside the bounds of the array." when converting PDF documents to images. |
Bug | SPIREPDF-6981 | Fixes the issue that the program throws a System.NullReferenceException: "Object reference not set to an instance of an object." when retrieving fonts. |
Bug | SPIREPDF-6995 | Fixes the issue that results are incorrect when extracting text multiple times. |
Bug | SPIREPDF-6997 | Fixes the issue that the program throws a System.NullReferenceException: "Object reference not set to an instance of an object." when converting PDF documents to PDFA1B documents. |
Request free customized demo just for you. |
Tab 1
Upload

Convert to
Tab 2
Upload

Convert to
Tab 3
Data
Contact | Company | City | Country | Phone |
Erica Norman | Kauai Dive Shoppe | Kapaa Kauai | US | 808-555-0269 |
George Weathers | Unisco | Freeport | Bahamas | 809-555-3915 |
Phyllis Spooner | Sight Diver | Kato Paphos | Cyprus | 357-6-876708 |
Joe Bailey | Cayman Divers World Unlimited | Grand Cayman | British West Indies | 011-5-697044 |
Chris Thomas | Tom Sawyer Diving Centre | Christiansted | US Virgin Islands | 504-798-3022 |
Ernest Barratt | Blue Jack Aqua Center | Waipahu | US | 401-609-7623 |
Russell Christopher | VIP Divers Club | Christiansted | US Virgin Islands | 809-453-5976 |
Paul Gardner | Ocean Paradise | Kailua-Kona | US | 808-555-8231 |
Susan Wong | Fantastique Aquatica | Bogota | Columbia | 057-1-773434 |
Joyce Marsh | Marmot Divers Club | Kitchener | Canada | 416-698-0399 |
Sam Witherspoon | The Depth Charge | Marathon | US | 800-555-3798 |
Theresa Kunec | Blue Sports | Giribaldi | US | 610-772-6704 |
Donna Siaus | Makai SCUBA Club | Kailua-Kona | US | 317-649-9098 |
Michael Spurling | Action Club | Sarasota | US | 813-870-0239 |
Barbara Harvey | Jamaica SCUBA Centre | Negril | West Indies | 011-3-697043 |
Desmond Ortega | Island Finders | St Simons Isle | US | 713-423-5675 |
Gloria Gonzales | Adventure Undersea | Belize City | Belize | 011-34-09054 |
Harry Bathbone | Blue Sports Club | Largo | US | 612-897-0342 |
Lloyd Fellows | Frank's Divers Supply | Eugene | US | 503-555-2778 |
Tanya Wagner | Davy Jones' Locker | Vancouver | Canada | 803-509-0112 |
Robert Michelind | SCUBA Heaven | Nassau | Bahamas | 011-32-09485 |
Frank Paniagua | Shangri-La Sports Center | Freeport | Bahamas | 011-32-08574 |
Charles Lopez | Divers of Corfu, Inc. | Ayios Matthaios | Greece | 30-661-88364 |
Rudolph Claus | Kirk Enterprises | Houston | US | 713-556-6437 |
Bill Wyers | George Bean Co. | Lugoff | US | 803-438-2771 |
Shirley Mathers | Professional Divers, Ltd. | Hoover | US | 205-555-8333 |
Nancy Bean | Divers of Blue-green | Pelham | US | 205-555-7184 |
Elaine Falls | Gold Coast Supply | Mobile | US | 205-555-2640 |
Patricia O'Brien | San Pablo Dive Center | Santa Maria | US | 823-044-2910 |
Dave Walling | Underwater Sports Co. | San Jose | US | 408-867-0594 |
Lynn Cinciripini | American SCUBA Supply | Lomita | US | 213-654-0092 |
Nicole Dupont | Catamaran Dive Club | Catalina Island | US | 213-223-0941 |
Peter Owen | Diver's Grotto | Downey | US | 213-432-0093 |
Bethan Lewis | Fisherman's Eye | Grand Cayman | British West Indies | 809-555-4680 |
Marianne Miles | Action Diver Supply | St. Thomas | US Virgin Islands | 22-44-500211 |
Stephen Bryant | Marina SCUBA Center | Caracas | Venezuela | 58-33-66222 |
Christine Taylor | Blue Glass Happiness | Santa Monica | US | 213-555-1984 |
Simone Green | Divers of Venice | Venice | US | 813-443-2356 |
Bram Phillips | On-Target SCUBA | Winnipeg | Canada | 416-445-0988 |
Jonathan West | Jamaica Sun, Inc. | Runaway Bay | West Indies | 809-555-2746 |
Grant Ainsworth | Underwater Fantasy | Ocho Rios | West Indies | 809-555-2214 |
Anne Mariachi | Princess Island SCUBA | Taveuni | Fiji | 679-311923 |
Maria Eventosh | Central Underwater Supplies | Johannesburg | Republic So. Africa | 27-11-4432458 |
Anna Rack | Safari Under the Sea | Grand Cayman | British West Indies | 809-409-4233 |
Isabelle Neece | Larry's Diving School | Milwaukie | US | 503-403-7777 |
Kevin Rider | Tora Tora Tora | Nassau | Bahamas | 809-898-0043 |
Susan Smith | Vashon Ventures | Honolulu | US | 532-099-0423 |
Joe Hatter | Divers-for-Hire | Suva | Fiji | 679-804576 |
Paul Still | Ocean Adventures | Maui | US | 776-868-9334 |
Michael Grossman | Underwater SCUBA Company | Somerset | Bermuda | 809-555-1225 |
Gillian Owen | Aquatic Drama | Tampa | US | 613-442-7654 |
Brian Miles | The Diving Company | St. Thomas | US Virgin Islands | 22-44-50098 |
Angela Jones | Norwest'er SCUBA Limited | Paget | Bermuda | 778-123-0745 |
Richard Houser | Waterspout SCUBA Center | Portland | US | 503-654-2434 |
Louise Franks | Neptune's Trident Supply | Negril | West Indies | 778-897-3546 |
Option
Tab 4
Upload

Source file:
Tab 5
Upload

Set text watermark
Text: | |
Font: | |
Font Size: | |
Color: | |
downloads
|
Set image watermark
Image: |
Click here to browse files
|
![]() |
|
downloads
|
If you don't find the function you want, please fill in a form to request a free demo from us. Make sure the demo you want meets the following requirements:
- It is a small project that implements a particular scenario.
- It relates to our libraries stored on E-iceblue online store.
- It costs less than 2 hours for us to complete it.
- It is not a bug report.
- It is not a feature request.