Spire.PDF 9.10.2 supports getting the text coordinates of multi-column text in reading order

Spire.PDF 9.10.2 supports getting the text coordinates of multi-column text in reading order

2023-10-13 06:46:58

We are excited to announce the release of Spire.PDF 9.10.2. This version supports getting the text coordinates of multi-column text in reading order, setting the HorizontalScalingFactor property for PdfStringFormat, and setting whether to allow conversion when converting the PDF with permission password. Besides, this version enhances the conversion from OFD to PDF. In addition, many known issues are fixed successfully in this version, such as the issue that the extracted table data was not formatted correctly. More details are listed below.

Here is a list of changes made in this release

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.
Click the link to download Spire.PDF 9.10.2:
More information of Spire.PDF new release or hotfix: