Spire.PDF for Python 11.9.0 现已正式发布。该版本支持在 PDF 中绘制表格,以及给多行文本添加批注。此外,它还修复了一个在转换后的HTML文件中出现的问题。详情请查阅以下内容。
新功能:
- 支持在 PDF 中绘制表格。
- 支持给多行文本添加批注。
pdf = PdfDocument()
page = pdf.Pages.Add(PdfPageSize.A3())
pen = PdfPen(PdfRGBColor(Color.get_Black()), 0.1)
# 设置线框边界位置和大小
x = 5.0
y = 5.0
width = page.Size.Width - (x * 2)
height = page.Size.Height - (y * 2)
page.Canvas.DrawRectangle(pen, x, y, width, height)
# 添加表格
grid = PdfGrid()
row = grid.Rows.Add()
grid.Columns.Add(2)
for i in range(grid.Columns.Count):
grid.Columns[i].Width = 50
row.Cells[i].Value = "add{0:d}".format(i + 1)
border = PdfBorders()
border.All = PdfPen(Color.get_Gray())
for j in range(grid.Rows.Count):
cells = grid.Rows.get_Item(j).Cells
for k in range(cells.Count):
cells.get_Item(k).Style.Borders = border
# 绘制表格
grid.Draw(page, PointF(50.0, 50.0))
pdf.SaveToFile(outputFile)
pdf.Close()
pdf = PdfDocument()
pdf.LoadFromFile(inputFile)
page = pdf.Pages[0];
finder = PdfTextFinder(page)
finder.Options.Parameter = TextFindParameter.WholeWord
finder.Options.Parameter = TextFindParameter.IgnoreCase
fragments = finder.Find("亚里士多德提出的科学知识概念至今仍具影响力,他认为科学知识是一套可靠的知识体系,能够通过逻辑和理性进行阐释")
textFragment = fragments[0]
text = "此处为 Spire.PDF for .NET 添加的标记注释。"
quadPoints = [None for _ in range(len(textFragment.Bounds) * 4)]
for i in range(len(textFragment.Bounds)):
rect = textFragment.Bounds[i]
quadPoints[4 * i] = PointF(rect.Left, rect.Top)
quadPoints[4 * i + 1] = PointF(rect.Right, rect.Top)
quadPoints[4 * i + 2] = PointF(rect.Left, rect.Bottom)
quadPoints[4 * i + 3] = PointF(rect.Right, rect.Bottom)
annotation = PdfTextMarkupAnnotation(textFragment.Bounds[0], quadPoints)
annotation.Text = text
annotation.TextMarkupColor = PdfRGBColor(Color.get_Blue())
page.Annotations.Add(annotation)
pdf.SaveToFile(outputFile)
pdf.SaveAsImage(pageIndex,dpiX,dpiY)
问题修复:
- 修复了由PDF转换生成的HTML文件无法在“jodit-react WYSIWYG”编辑器中正常编辑的问题。
获取 Spire.PDF for Python 11.9.0 请点击: