Tue Dec 10, 2024 11:37 am
我尝试引用‘ALIBABA-PUHUITI-HEAVY’字体,但是似乎失败了,我的‘ALIBABA-PUHUITI-HEAVY.TTF’文件应该放在哪个文件目录下,以下是我的代码:
def replace_text1():
pdf = PdfDocument()
# 从指定路径加载一个PDF文件
pdf.LoadFromFile(dir1+"GP00000000001.pdf")
# 获取第一页
page = pdf.Pages.get_Item(0)
# 创建一个 PdfTextFinder 实例
finder = PdfTextFinder(page)
# 创建一个 PdfTextFindOptions 实例并设置搜索选项
options = PdfTextFindOptions()
options.CaseSensitive = True
options.WholeWords = True
finder.Options = options
text = "AB00000000001"
fragments = finder.Find(text)
fragment = fragments[0]
backColor = page.BackgroundColor
if backColor.ToArgb() == 0:
backColor = Color.get_White()
for i in range(len(fragment.Bounds)):
page.Canvas.DrawRectangle(PdfSolidBrush(PdfRGBColor(backColor)), fragment.Bounds[i])
inputFontFile = "ALIBABA-PUHUITI-HEAVY.TTF"
font = PdfTrueTypeFont(inputFontFile, 4.0, PdfFontStyle.Italic, True)
brush = PdfBrushes.get_Black()
stringFormat = PdfStringFormat()
stringFormat.Alignment = PdfTextAlignment.Left
point = fragment.Bounds[0].Location
size = SizeF(fragment.Bounds[-1].Right, fragment.Bounds[-1].Bottom)
rect = RectangleF(point, size)
page.Canvas.DrawString('AB00000000002', font, brush, rect, stringFormat)
pdf.SaveToFile('AB00000000002'.pdf')
pdf.Close()