ReportLab: 使用Python將圖表添加到PDF中
ReportLab工具包支持向PDF文件中添加許多不同的圖表。事實上,我在前一篇文章中已經介紹了其中的一些。然而,我所見過的大多數示例,包括我自己的文章中的示例,都沒有顯示如何將圖表插入為一個Flowable(工作流)。
這意味著大多數示例都向您展示了如何創建一個包含圖表的單頁PDF。大多數開發人員都希望能夠創建一些文本,也許是一個表,並將圖表和這些元素一起插入其中。您通常也會在圖表後面添加額外的文本。
在本文中,您將學習如何做到這一點。
添加一個圖表
我們來創建一個簡單的餅狀圖並將它添加到一個簡單的PDF中。您將創建的這個PDF將在圖表前後各有一個句子。
以下是代碼:
打開今日頭條,查看更多圖片代碼中需要導入大量的包。請隨時在ReportLab的文檔中查閱這些內容。我將把重點放在這裡的函數上。第一個函數將為圖表創建一個Legend。它設置圖表的x/y坐標,並使用圖表對象自動確定圖例中的顏色。
第二個函數將創建餅狀圖本身。ReportLab中的圖表存放在Drawing對象中。因此,您創建一個Drawing對象,然後再創建一個Pie對象。接下來設置它的位置並向圖表中添加一些數據。在將圖表添加到繪圖對象之前,您還可以添加標籤並設置圖表的筆畫寬度。
最後一個函數稱為main()。在這個函數中,您將創建一個文檔模板,並使用ReportLab的Paragraph對象來添加一個文本字元串。然後調用餅狀圖創建函數來獲取繪圖,該繪圖可以被添加到您正在調用的elements的Flowable(工作流)列表中。最後,添加另一個Paragraph段落,然後構建文檔並將其寫入磁碟。
以下是PDF的內容:
總結
這是一篇相當短的文章,但我希望它能幫助您了解如何使用Python和ReportLab將圖表插入到您的PDF文件中。如果您對添加其他類型的圖表感興趣,您應該查看一下ReportLab的文檔或下面的文章之一。
英文原文:http://www.blog.pythonlibrary.org/2019/04/08/reportlab-adding-a-chart-to-a-pdf-with-python/ 譯者:Nothing
TAG:Python部落 |