Python - Vytvořte PDF s grafikou, část 1

Obsah
Krajta Má skvělou schopnost pracovat s textovými soubory, díky tomu můžeme získávat informace z různých zdrojů, jako jsou webové stránky, nyní není výstup z textových výstupů s extrahovanými daty někdy ideální, protože zpracovávaných informací je obvykle mnoho stravitelnější.
Umět uvedené informace zpracovat Krajta má nástroje, které nám umožňují vytvářet grafy s uvedenými daty a vhazovat je do souboru PDF, vzhledem k čistotě programování je mnohem snazší dosáhnout těchto výsledků Krajta než z tabulkového procesoru.
Projekt
Jak jsme zmínili dříve manipulaci s daty v Krajta Je to velmi jednoduché díky své schopnosti zpracovávat soubory a textové řetězce, takže s vědomím toho se chystáme vytvořte soubor PDF který obsahuje grafiku, budou vytvořeny z dat, která získáme z externího zdroje.
Tento typ zprávy nám umožňuje začlenit složitější programovací logiku, která umožňuje implementaci Krajta mnohem jednodušší než pomocí tabulkového procesoru.
Nástroje
Abychom dosáhli svých cílů, musíme stanovit, které balíčky a nástroje použijeme, abychom věděli, jaký typ logiky použít.
Pro tento konkrétní projekt jsme se rozhodli použít ReportLab protože je snadno použitelný a má dobrou podporu jak pro grafiku, tak pro generování souborů PDF. Chcete -li jej získat, můžeme se dostat na oficiální webovou stránku http: / /reportlab.org, vyhledat sekci pro stahování a stáhnout příslušnou sadu nástrojů, jakmile získáme komprimovaný soubor, jednoduše jej rozbalíme v Python PATH a můžeme jej použít, na následujícím obrázku vidíme, jak bychom měli uskutečnit hovor v rámci našeho kódu:

Jak vidíme, je velmi snadné začlenit knihovnu do našeho vývojového prostředí.
Kreslení pomocí ReportLab
Než budeme pokračovat ve vývoji projektu, uděláme závorku a uvidíme základní operaci ReportLab abychom měli základnu, se kterou budeme pracovat.
Použijeme modul reportlab.graphics to nám umožňuje vytvářet pokročilé kresby a v rámci toho se chystáme importovat i modul pro generování PDF, podívejme se níže na kód, který nám umožňuje nakreslit PDF ukazující klasický Ahoj světe!
 from reportlab.graphics.shapes import Drawing, String from reportlab.graphics import renderPDF d = Drawing (100, 100) s = String (50, 50, 'Hello, world!', textAnchor = 'middle') d.add (s ) renderPDF.drawToFile (d, 'hello.pdf', 'Jednoduchý soubor PDF') 

Jak vidíme, je to velmi jednoduché, stačí importovat grafický balíček, kreslicí moduly a moduly pro generování PDF, poté vytvoříme objekt Výkres a objekt String s textem, který chceme nakreslit, použijeme metoda add () přidat Řetězcový objekt do Kreslícího objektu a to nám umožňuje nakreslit text a nakonec při generování PDF předáme objekt, který vytvoří kresbu společně s názvem souboru PDF.
Výsledkem by mělo být něco takového:

Tímto dokončujeme tuto první část tutoriálu; V další části se chystáme zahájit stavbu projektu a trochu více se ponořit do provozu ReportLab a integrace s Krajta.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod
wave wave wave wave wave