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.
Download Spire.PDF to start a free trial:
Hot Fix Version: 9.12
Category | ID | Description |
Bug | SPIREPDF-6041 | Fixes the issue that the data on the second page and subsequent pages were lost after flattening PDF form fields. |
Bug | SPIREPDF-6331 | Fixes the issue that PDFs converted from SVG couldn't be opened with Adobe. |
Bug | SPIREPDF-6351 | Fixes the issue that the text could not be extracted. |
Bug | SPIREPDF-6375 | Fixes the issue that highlight text function did not take effect. |
Bug | SPIREPDF-6384 | Fixes the issue that the program threw "System.NullReferenceException" when converting OFD to PDF. |
Bug | SPIREPDF-6385 SPIREPDF-6390 |
Fixes the issue that the program threw "System.NullReferenceException" when loading PDF files. |
Bug | SPIREPDF-6393 | Fixes the issue that the program threw "System.NullReferenceException" when printing PDF files as booklets. |
Hot Fix Version: 9.11.4
Category | ID | Description |
New feature | - | Adds the new PdfImageHelper interface for image extraction, deletion, replacement and compression. Key code snippets are as follows: // Delete image: imageHelper.DeleteImage(imageInfos[0]); // Extract images: int index = 0; foreach (PdfImageInfo info in imageInfos) { info.Image.Save(outputFile_I + string.Format("Image-{0}.png", index)); index++; } // Replace image: PdfImage image = PdfImage.FromFile(TestUtil.DataPath + "ImgFiles/E-iceblue logo.png"); imageHelper.ReplaceImage(imageInfos[0], image); // Compress images: foreach (PdfPageBase page in doc.Pages) { foreach (PdfImageInfo info in imageHelper.GetImagesInfo(page)) { bool success = info.TryCompressImage(); } } |
Bug | SPIREPDF-5781 | Fixes the issue that two columns of the extracted PDF table were merged into one. |
Bug | SPIREPDF-6225 | Fixes the issue that the result document of XPS to PDF conversion was blank. |
Bug | SPIREPDF-6232 | Fixes the issue that it popped up page error when opening PDF converted from XPS with Adobe tools. |
Bug | SPIREPDF-6355 | Fixes the issue that extra characters appeared in the content after converting PDF to XPS. |
Bug | SPIREPDF-6361 | Fixes the issue that the program threw an exception System.NullReferenceException when loading PDF documents. |
Hot Fix Version: 9.11.0
Category | ID | Description |
Bug | SPIREPDF-6320 | Improves the speed of converting PDF to images. |
Bug | SPIREPDF-4552 | Fixes the issue that the extracted content from PDF was incorrect. |
Bug | SPIREPDF-5949 | Fixes the issue that the resulting file became larger after splitting and merging PDFs. |
Bug | SPIREPDF-6017 | Fixes the issue that the program crashed when converting PDF to SVG on Linux. |
Bug | SPIREPDF-6273 | Fixes the issue that the table content extracted from PDF was incorrect. |
Bug | SPIREPDF-6301 | Fixes the issue that the order of extracted table content was incorrect. |
Bug | SPIREPDF-6305 | Fixes the issue that the text style changed after converting PDF to images. |
Bug | SPIREPDF-6308 | Fixes the issue that documents could still be decrypted without entering a password. |
Bug | SPIREPDF-6309 | Fixes the issue that the program threw an exception "System.NullReferenceException" when comparing and saving PDF |
Bug | SPIREPDF-6312 | Fixes the issue that some content was unclear when printing PDF. |
Bug | SPIREPDF-6314 | Fixes the issue that the program threw an exception "System.ArgumentOutOfRangeException" when converting PDF to SVG. |
Bug | SPIREPDF-6333 | Fixes the issue that the program threw an exception "System.StackOverflowException" when converting PDF to images. |
Bug | SPIREPDF-6346 | Fixes the issue that the program threw an exception "System.NullReferenceException" when extracting text. |
Bug | SPIREPDF-6348 | Fixed an issue that tables were not recognized. |
Hot Fix Version: 9.10.2
Category | ID | Description |
New feature | SPIREPDF-6153 | Supports getting the text coordinates of multi-column text in reading order.
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(input); PdfPageBase pdfPageBase = doc.Pages[0]; PdfTextFinder finder = new PdfTextFinder(pdfPageBase); finder.Options.Strategy = PdfTextStrategy.Simple; |
New feature | SPIREPDF-6264 | Supports setting the HorizontalScalingFactor property for PdfStringFormat.
PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add(); string text = "Please add the code picture BehindText=true to set the picture behind text"; PdfSolidBrush solidBrush = new PdfSolidBrush (new PdfRGBColor(Color.Black)); PdfStringFormat format = new PdfStringFormat(): format.HorizontalScalingFactor = 80; PdfFont font = new PdfFont(PdfFontFamily.TimesRoman, 14f, PdfFontStyle.Regular); PdfGraphicsState state = page.Canvas.Save(); page.Canvas.DrawString(text, font, solidBrush, 0, 0, format); page.Canvas.Restore(state): doc.SaveToFile(outputFile); doc.Close(); |
New feature | SPIREPDF-6285 | Support setting whether to allow conversion when converting the PDF with permission password.
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(inputFile); doc.ConvertOptions.ApplyPermissionsOptions(true); StringBuilder sb = new StringBuilder(); foreach (FileFormat type in Enum.GetValues(typeof(FileFormat))) { try { if (type.ToString().Equals("PDF")) { doc.SaveToFile(outputFile_P, type); } else { doc.SaveToFile(outputFile, type); } } catch (Exception ex) { sb.AppendLine("save to: "+ type +" :"+ ex.Message); } } File.AppendAllText(outputFile,sb.ToString()); doc.Dispose(); |
Bug | SPIREPDF-5579 | Fixes the issue that the extracted table data was not formatted correctly. |
Bug | SPIREPDF-6089 | Fixes the issue that the output result was incorrect after setting cell spacing for a table. |
Bug | SPIREPDF-6244 | Fixes the issue that filling the form fields of XFA's text box failed . |
Bug | SPIREPDF-6262 | Fixes the issue that the program threw "System.IO.IOExceptions:Stream was too long" exception when merging PDF files. |
Bug | SPIREPDF-6268 | Fixes the issue that fonts were applied incorrectly after filling the textbox field. |
Bug | SPIREPDF-6284 | Fixes the issue that no permission password was requested when converting PDF with permission password to Word. |
Bug | SPIREPDF-6292 | Fixes the issue that the program threw "System.NullReferenceException" exception when converting OFD to PDF files. |
Bug | SPIREPDF-6303 | Fixes the issue that "new PdfGoToAction(partBookmarkDest)" did not work. |
Hot Fix Version: 9.9.9
Category | ID | Description |
Bug | SPIREPDF-6130 | Fixes the issue that the program threw "System.StackOverflowException" when converting PDF to images. |
Bug | SPIREPDF-6219 | Fixes the issue that the program threw "System.ArgumentOutOfRangeException" when drawing HTML content. |
Bug | SPIREPDF-6229 | Fixes the issue that the size of split document was incorrect. |
Bug | SPIREPDF-6245 | Fixes the issue that the XFA checkbox form fields couldn't be filled. |
Bug | SPIREPDF-6254 | Fixes the issue that the program threw "System.FormatException" when converting OFD to PDF. |
Bug | SPIREPDF-6259 | Fixes the issue that a part of content lost when printing PDF files. |
Bug | SPIREPDF-6272 | Fixes the issue that the FontSizeAuto property for textbox form fields was incorrect. |
Hot Fix Version: 9.9.3
Category | ID | Description |
New feature | SPIREPDF-6199 | Add a new method to determine if a document is encrypted without loading the document.
bool value = PdfDocument.IsPasswordProtected("1.pdf"); |
New feature | SPIREPDF-6223 | Supports setting margins when printing.
pdf.PrintSettings.SelectMultiPageLayout(2,2,false,Spire.Pdf.Print.PdfMultiPageOrder.Horizontal, marginValue) |
Bug | SPIREPDF-4391 | Fixed the issue that some cells were split into two columns when converting PDF to Excel. |
Bug | SPIREPDF-6023 | Fix the issue that setting the WholeWord property when searching for text caused the failure of highlighting text. |
Bug | SPIREPDF-6138 | Fix the issue that text was lost when converting PDF to Word. |
Bug | SPIREPDF-6194 | Fix the issue that the XML file failed to open in the result file after adding XML attachments to PDF files. |
Bug | SPIREPDF-6198 | Fix the issue that the program threw an exception "System.ArgumentOutOfRangeException" when loading a compressed document. |
Bug | SPIREPDF-6201 | Fix the issue that it failed to open the compressed document with PDF reader. |
Bug | SPIREPDF-6203 | Fixed the issue that PDF converted to Word with permission password set (content copy and page extraction not allowed) did not request permission password. |
Bug | SPIREPDF-6204 | Fixed the issue that characters were displayed incorrectly after converting PDF to POSTSCRIPT. |
Bug | SPIREPDF-6205 | Fixed the issue that stamps were lost after converting OFD to PDF and images. |
Bug | SPIREPDF-6213 | Fix the issue that the content was garbled after converting PDF to PDFA. |
Bug | SPIREPDF-6227 | Fix the issue that the program threw an exception "System.IndexOutOfRangeException" when drawing a table. |
Hot Fix Version: 9.8.5
Category | ID | Description |
Bug | SPIREPDF-1752 | Fixed the issue that opening the result file in Adobe failed after creating an overlay. |
Bug | SPIREPDF-5146 | Fixed the issue that the watermark was changed after decrypting a PDF file. |
Bug | SPIREPDF-5865 SPIREPDF-6114 |
Fixed the issue that finding cross-line text in a PDF file failed. |
Bug | SPIREPDF-6024 | Fixed the issue that setting FitToPage and FitToHTML properties under PdfHtmlLayoutFormat didn't take effect. |
Bug | SPIREPDF-6140 | Fixed the issue that printing the same PDF file multiple times resulted in increased file size and printing time. |
Bug | SPIREPDF-6150 | Fixed the issue that the content orientation was incorrect when printing double-sided. |
Bug | SPIREPDF-6193 | Fixed the issue that the application threw a "System.NullReferenceException" exception when adding attachments to a PDF file. |
Hot Fix Version: 9.7.17
Category | ID | Description |
New feature | - | Supports PDF documents text comparison function.
PdfDocument pdf1 = new PdfDocument(inputFile_1); PdfDocument pdf2 = new PdfDocument(inputFile_2); PdfComparer compare = new PdfComparer(pdf1, pdf2); compare.Options.SetPageRanges(0, pdf1.Pages.Count - 1, 0, pdf2.Pages.Count - 1); compare.Compare(outputFile); |
Bug | SPIREPDF-6113 | Fixed the issue that it consumed excessive resource when converting PDF to OFD. |
Bug | SPIREPDF-6129 | Fixed the issue that the special European characters (ü, ä, ö) were displayed incorrectly when converting PDF to image and printing PDF files. |
Bug | SPIREPDF-6145 | Fixed the issue that the program threw a null pointer exception when getting images. |
Bug | SPIREPDF-6155 | Fixed the issue that there was an extra error message in the " Document Integrity Report. " after adding an invisible signature. |
Bug | SPIREPDF-6157 | Fixed the issue that the program threw " System.Exception: Cannot create Graphics object from an image with an indexed pixel format " when extracting tables. |
h3 style="margin-top: 25px;">Hot Fix Version: 9.7.14
Category | ID | Description |
New feature | SPIREPDF-3578 | Supports retaining the same font name when converting PDF to Word.
PdfDocument doc = new PdfDocument(); //Add a new page PdfPageBase page = doc.Pages.Add(); PdfGrid grid = new PdfGrid(); grid.Columns.Add(1); PdfGridRow headerRow1 = grid.Headers.Add(1)[0]; //HEADER WITHOUT UNCICODE SUPPORT BUT VALID WORD FONT headerRow1.Style.Font = new PdfTrueTypeFont(new Font("Arial", 11f, FontStyle.Regular), true); headerRow1.Cells[0].Value = "Spire.PDF for .NET"; headerRow1.Cells[0].StringFormat = new PdfStringFormat(PdfTextAlignment.Center, PdfVerticalAlignment.Middle); grid.Draw(page, new PointF(0, 10)); //Save the document to stream MemoryStream stream = new MemoryStream(); doc.SaveToStream(stream, FileFormat.PDF); stream.Position = 0L; PdfToWordConverter converter = new PdfToWordConverter(stream); converter.SaveToDocx(@"out.docx"); |
New feature | SPIREPDF-4092 SPIREPDF-5734 |
Supports setting encryption options with the new interface when encrypting PDF documents.
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(@"in.pdf"); PdfSecurityPolicy securityPolicy = new PdfPasswordSecurityPolicy(userPassword, ownerPassword); securityPolicy.EncryptMetadata = false; securityPolicy.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES_128; securityPolicy.DocumentPrivilege = PdfDocumentPrivilege.AllowAll; securityPolicy.DocumentPrivilege.AllowPrint = false; doc.Encrypt(securityPolicy); doc.SaveToFile(@"out.pdf"); |
Bug | SPIREPDF-2586 | Fixes the issue that the content lost when converting PDF to image. |
Bug | SPIREPDF-6013 | Fixes the issue that the table borders were thicker after printing PDF file. |
Bug | SPIREPDF-6057 | Fixes the issue that it had prompt "cannot extract the embedded font" when opening the converted PDFA3B file. |
Bug | SPIREPDF-6072 | Fixes the issue that the PDF page count obtained was incorrect when the file added an watermark. |
Bug | SPIREPDF-6080 | Optimizes the memory consumption when converting PDF to image. |
Bug | SPIREPDF-6086 | Fixes the issue that the application threw "System.NullReferenceException" when loading a PDF file. |
Bug | SPIREPDF-6088 | Fixes the issue that the application threw "System.IndexOutOfRangeException" when loading a XPS file. |
Bug | SPIREPDF-6093 | Fixes the issue that the result was black after converting PDF to image. |
Bug | SPIREPDF-6100 | Fixes the issue that the application threw "System.NullReferenceException" when converting a PDF file to image. |
Bug | SPIREPDF-6126 | Fixes the issue that the removing the Form field method didn't take effect. |
Hot Fix Version: 9.7.0
Category | ID | Description |
New feature | SPIREPDF-5964 | Supports creating labeled PDF files containing structured tables.
PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(20)); page.SetTabOrder(TabOrder.Structure); PdfTaggedContent taggedContent = new PdfTaggedContent(doc); taggedContent.SetLanguage("en-US"); taggedContent.SetTitle("test"); taggedContent.SetPdfUA1Identification(); PdfTrueTypeFont font = new PdfTrueTypeFont(new System.Drawing.Font("Times New Roman", 14), true); PdfSolidBrush brush = new PdfSolidBrush(Color.Black); PdfStructureElement document = taggedContent.StructureTreeRoot.AppendChildElement(PdfStandardStructTypes.Document); PdfStructureElement heading1 = document.AppendChildElement(PdfStandardStructTypes.HeadingLevel1); heading1.BeginMarkedContent(page); string headingText = "What is a Tagged PDF?"; page.Canvas.DrawString(headingText, font, brush, new PointF(0, 0)); heading1.EndMarkedContent(page); PdfStructureElement paragraph = document.AppendChildElement(PdfStandardStructTypes.Paragraph); paragraph.BeginMarkedContent(page); string paragraphText = ""Tagged PDF" doesn’t seem like a life-changing term. But for some, it is. For people who are " + "blind or have low vision and use assistive technology (such as screen readers and connected Braille displays) to " + "access information, an untagged PDF means they are missing out on information contained in the document because assistive " + "technology cannot "read" untagged PDFs. Digital accessibility has opened up so many avenues to information that were once " + "closed to people with visual disabilities, but PDFs often get left out of the equation."; RectangleF rect = new RectangleF(0, 30, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height); page.Canvas.DrawString(paragraphText, font, brush, rect); paragraph.EndMarkedContent(page); PdfStructureElement figure = document.AppendChildElement(PdfStandardStructTypes.Figure); figure.BeginMarkedContent(page); PdfImage image = PdfImage.FromFile(TestUtil.DataPath + "ImgFiles/Bug_3938.png"); page.Canvas.DrawImage(image, new PointF(0, 150)); figure.EndMarkedContent(page); PdfStructureElement table = document.AppendChildElement(PdfStandardStructTypes.Table); PdfTable pdfTable = new PdfTable(); pdfTable.Style.DefaultStyle.Font = font; System.Data.DataTable dataTable = new System.Data.DataTable(); dataTable.Columns.Add("Name"); dataTable.Columns.Add("Age"); dataTable.Columns.Add("Sex"); dataTable.Rows.Add(new string[] { "John", "22", "Male" }); dataTable.Rows.Add(new string[] { "Katty", "25", "Female" }); pdfTable.DataSource = dataTable; pdfTable.Style.ShowHeader = true; pdfTable.StructureElement = table; pdfTable.Draw(page.Canvas, new PointF(0, 280), 300f); doc.SaveToFile("1.pdf"); doc.Dispose(); |
New feature | SPIREPDF-6038 | Adds support for zoom level in fitting height.
PdfDocument myPdf = new PdfDocument("test.pdf"); PdfPageBase page = myPdf .Pages[0]; PdfDestination dest = new PdfDestination(page, new PointF(-40f, -40f)); dest.Mode = PdfDestinationMode.FitV; PdfGoToAction gotoaction = new PdfGoToAction(dest); myPdf.AfterOpenAction = gotoaction; myPdf.ViewerPreferences.PageMode = PdfPageMode.UseOutlines; myPdf.SaveToFile("FitBH.pdf"); myPdf.Close(); |
Bug | SPIREPDF-6011 | Fixed the issue that an error System.NullReferenceException occurred when converting PDF to PDFA3A. |
Bug | SPIREPDF-6032 | Fixed the issue that the content was incorrect when converting PDF to PDFA1B. |
Bug | SPIREPDF-6047 | Fixed the issue that font changed when converting PDF to image and printing PDF. |
Bug | SPIREPDF-6051 | Fixed the issue that an error System.NullReferenceException occurred when extracting page text. |
Bug | SPIREPDF-6076 | Fixes the issue that stamps distorted out of shape when printing PDF. |