我正在嘗試使用reportlab庫在pdf上編寫'註釋'。我已經成功使用reportlab將新數據寫入pdf,但是我找不到有關如何創建註釋的任何信息。是否有TCPDF的'annotate'函數的python ReportLab等價物?
當我說註釋時,我指的是TCPDF的註釋函數。這會在pdf中創建一個可點擊和可移動的文本對象。
https://tcpdf.org/examples/example_036/
必須有辦法在Python做到這一點,但到目前爲止,我還沒有找到任何信息。
我看過這篇文章以及在接受的答案中發佈的相關鏈接。
Add text to existing PDF document in Python
我已經看到了這個工具,在python使用PHP,但我不能讓它正常工作,它似乎並沒有什麼支持。
https://github.com/dnet/ppcg/blob/master/tcpdf_example.py
當我運行的例子我得到的文本讀取PDF如下圖所示:
<?
include('tcpdf/config/lang/eng.php');
include('tcpdf/tcpdf.php');
$v0 = new TCPDF('PDF_PAGE_ORIENTATION', 'PDF_UNIT', 'PDF_PAGE_FORMAT', 'true', 'UTF-8', 'false');
$v0->setFontSubsetting(False);
$v0->setAuthor('VSzA');
$v0->setCreator('PPCG');
$v0->setTitle('TCPDF in Python!?');
$v0->setPrintHeader(False);
$v0->setMargins(10, 10);
$v0->AddPage();
$v0->SetFont('dejavusans', 'B', 12);
$v0->Cell(0, 0, 'Hello Python');
$v0->Ln();
$v2 = $v0->GetX();
$v1 = $v0->GetY();
$v0->setXY(30, 30);
$v0->Cell(0, 0, 'GOTOs are bad');
$v3 = $v1 + 2.5;
$v0->setXY($v2, $v3);
$v0->Cell(0, 0, 'I can has PHP variables');
$v0->Output();
?>
這個貌似正確的PHP代碼使用TCPDF來創建一個PDF格式,但代碼正在保存到PDF文件,而不是跑。
我現在得出的結論是,只需將所有數據從python腳本發送到使用php的http服務器,然後使用TCPDF在服務器上創建我的pdf,然後將新的pdf發送回我的python腳本將其提供給最終用戶。這聽起來不夠有效,所以我不想這樣做。
任何幫助,將不勝感激! -Jake
這真的很有幫助,因爲我希望它的註釋顯示一個數字,而不是那個註釋粘滯便箋對象。我不能張貼圖片,但想象一個簡單的正方形,裏面有一個數字,它仍然是可移動的。這可能嗎?在TCPDF中它非常簡單 –
它應該是可能的,因爲它基本上就是canavas。freeTextAnnotation'函數是在源代碼中,但我無法讓它立即工作。 :(注意:DA =默認外觀字符串) – B8vrede
我也無法使它工作,我也嘗試將自己的字典字段添加到freeTextAnnotation函數中,但沒有得到任何結果,我只能將textannotation的子類型更改爲「/ FreeText」,現在它適用於我,現在我的下一個問題是如何改變'DA'字符串的顏色格式?正常的setfillcolor和setstrokecolor不適用於註釋 –