我想使用PyPDF2,通過addJS以編程方式添加注釋,它對拉丁文字符非常有效,但對中文字符無效,我嘗試用UTF-8編碼,但似乎也無效。以下是代碼:
from PyPDF2 import PdfFileWriter, PdfFileReader.
Def Test()。
inputPDF = PdfFileReader('./demo/TESTPDFANNOTATION.pdf'/span>, "rb"/span>)
outputPDF = PdfFileWriter()
pages = inputPDF.getNumPages()
for p in range(pages)。
outputPDF.addPage(inputPDF.getPage(p))
outputStream = open('./demo/TESTPDFANNOTATIONOUT.pdf'/span>, "wb")
outputPDF.addJS("var annot = this.addAnnot({
page: 0,
type: 'FreeText',
內容。'你好'。
textFont: 'csongl',
textSize: 10,
rect: [200, 300, 200 150, 300 3*12], //三行的高度
寬度:1。
對齊。1
});")
outputPDF.write(outputStream)
outputStream.close()
return("ok")
奇怪的是,如果我在記事本的文本編輯器中打開PDF,漢字顯示正確,但是當用PDF打開時,它顯示類似于??€?¥?的東西,這似乎沒有被解碼,因為它們可以用在線轉換工具解碼成幾乎正確的漢字,在某些情況下不是完全相同。 https://cafewebmaster.com/online_tools/utf_decode
如果有任何建議,我們將不勝感激!
Python版本:3.9以上 作業系統:Win10謝謝 Stanley
uj5u.com熱心網友回復:
最后,我發現可以使用另一個包PyMuPDF來以編程方式添加注釋,并且對漢字有很好的支持。
import fitz
def writeAnnotation()。
blue = (0,0, 1)
gold = (1,1,0)
pdfDoc = fitz.open('./demo/TESTPDFANNOTATION.pdf'/span>)
page = pdfDoc[0]
rect1 = fitz.Rect(100,100, 200, 150)
strContent1= "你好!世界">addFreetextAnnot(rect1, strContent1, text_color=blue, fill_color=gold)
pdfDoc.save("./demo/TESTPDFANNOTATIONOUT.pdf" )
return("做得好!")
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/317219.html
標籤:
上一篇:SSL握手顯示密碼0000
