为 FPDF 构建 Python 类

问题描述 投票:0回答:2

我想使用Python库fpdf2并构建我自己的类来生成pdf文档。我试过这个:

from fpdf import FPDF   

class MyPdf(FPDF):
    def __init__(self, *args, **kwargs):
            super().__init__()
            self.pdf = FPDF()
            self.pdf.add_page()
            # customize pdf
    def OtherCustomization(self):
            self.pdf.add_page()
            # other customization pdf


pdf1 = FPDF()
pdf1.add_page()

pdf2 = MyPdf()
pdf2.add_page()
pdf2.OtherCustomization()

pdf1.output("1.pdf")
pdf2.output("2.pdf")

我期望一个文件 1.pdf 有一页,另一个 2.pdf 有两页,但它不起作用。

# pdfinfo 1.pdf | grep Pages
Pages:           1
# pdfinfo 2.pdf | grep Pages
Pages:           1
python fpdf python-class
2个回答
0
投票

您混合了继承和组合两个概念。 当您使用继承时,您不需要添加类实例作为属性,因为父类的所有属性或方法也来自子类:

选项1继承:

from fpdf import FPDF   

class MyPdf(FPDF):
    def __init__(self, *args, **kwargs):
            super().__init__()
            
            # customize pdf
    def OtherCustomization(self):
            self.add_page()
            # other customization pdf

pdf1 = MyPdf()
pdf1.add_page()

在选项1中,您可以修改子类的属性,例如,当您传递给构造函数时,您可以强制页面在子类中始终保持水平

page_orientation='L'

from fpdf import FPDF   

class MyHorizontalPdf(FPDF):
    def __init__(self,value, format="A4",  *args, **kwargs):
            super().__init__(page_orientation='L', format=format)
            self.value = value
            # customize pdf
    def OtherCustomization(self):
            self.add_page()
            # other customization pdf

选项2组成:

from fpdf import FPDF   

class MyPdf:
    def __init__(self, *args, **kwargs):
            self.pdf = FPDF()
            # customize pdf
    def OtherCustomization(self):
            self.pdf.add_page()
            # other customization pdf

pdf1 = MyPdf()
pdf1.pdf.add_page()
class MyHorizontalPdf:
    def __init__(self, *args, **kwargs):
            self.pdf = FPDF(page_orientation='L')
            # customize pdf
    def OtherCustomization(self):
            self.pdf.add_page()
            # other customization pdf

我建议在这里阅读更多内容https://realpython.com/inheritance-composition-python/


-2
投票

🌷උග්ගසේනසිටුපුත්හුගේවස්තුව。

      දඹදෙණි  රාජධානි සමයේ රජ කළ දෙවැනි පැරකුම්බා රජු දවස වැඩසිටි  ධර්මසේන හිමියන් අතින් රචනා වූ අගනා කෘතියක් ලෙස සද්ධර්මරත්නාවලිය හඳුන්වාදිය හැකිය. බුද්ධඝෝෂ හිමියන්ගේ  "ධම්මපදට්ඨ කථාව" ඇසුරෙන් ලිය වී ඇති මෙය බණ කතා රීතියෙන් රචනා කර තිබීම විශේෂත්වයකි.

🌷කෑරගලයවැජඹෙයිමේලෙසින්සිට。

     සිංහල සාහිත්‍ය වංශයේ ස්වර්ණමය යුගය ලෙස සැලකෙන කෝට්ටේ අවධියේ වැඩ විසූ වීදාගම මෛත්‍රී හිමියන් විසින් රචිත 'හංස සංදේශයෙන්' මෙම පැදි පෙළ උපුටාගෙන තිබේ.කෑරගල පද්මාවතී පිරිවෙන් විහාරය හා ඒ අවට ගම් ප්‍රදේශය පිළිබඳ චමත්කාරජනක වර්ණනයක් මෙහි අන්තර්ගත ය.

🌷මගවිසිතුරු

       සිංහල සාහිත්‍ය ඉතිහාසයේ ස්වර්ණමය යුගය ලෙසින් සැලකෙන කෝට්ටේ අවධියේ වැඩ විසූ ෂඩ් භාෂා පරමේෂ්වර තොටගමේ ශ්‍රී රාහුල හිමියන් විසින් රචිත සැළලිහිණි සංදේශයෙන් උපුටා ගත් පැදි පෙළක් "මග විසිතුරු" පාඩමට ඇතුළත් කර තිබේ.පද්‍ය 108 කින් සමන්විත වන මෙය සමුද්‍ර ඝෝෂ විරිතින් ලියැවුණු අතිශය චමත්කාරජනක සොඳුරු පරිසර වර්ණනාවලින් යුක්ත වූවකි.

🌷හානාහීයපානාඅඬහැරෙන්දැනේ。

    භාෂාව මගින් ප්‍රබල ලෙස අදහස් හා හැඟීම් ප්‍රකාශ කළ හැකි ය.ඒ අතරින් ප්‍රමුඛස්ථානය ගන්නා සාහිත්‍යාංගයක් ලෙස "ජනකවි "හැඳින්වේ.

ජනකවි යනු මිනිසුන් අතරේ ම බිහිවී පරපුරෙන් පරපුරටආරක්ෂාවෙමින්ආකාව්u200dයවිශේෂයකි。 මේ අතරින් සමාජය ඇතැම් විට හාස්u200dයයට ලක් කරමින් ද අනුකම්පාවට ලක් කරමින් ද මිනිස් චර්යාවන් විවේචනයට ලක් කරමින් ද උපදෙස් දීමේ ජනකවි කලාවක් බිහි වී තිබුණි.ඒවා උපදේශාත්මක ජනකවිවේ。

🌷අපටවැසිකිළියක්

        ළමා අත්දැකීමක් වස්තු විෂය කොටගෙන උත්තම පුරුෂ දෘෂ්ටිකෝණයෙන් රචිත "අපට වැසිකිළියක් "කෙටි කතාව කේ ජයතිලක ශූරීන් විසින් රචනා කරන ලද්දකි. 1984 දී පළ කළ "නොනිමි සිත්තම සහ තවත් කෙටිකතා" නම් කෙටිකතා සංග්‍රහයෙන් මෙය උපුටාගෙන තිබේ.ඈත අතීතයේ නොදියුණුව පැවති සමාජ පසුතලයක ,රජය මගින් වැසිකිළි භාවිතය නියම කිරීමට දරන ප්‍රයත්නයත් , එක්තරා ගැමි පවුලක් ඉතා අපහසුවෙන් පිළිපැද ක්‍රමයෙන් එයට හුරු පුරුදු වීමත් මෙහි ප්‍රබලත ම කරුණ ලෙස විවරණය කෙරේ.

මෙය pdf එකක් බවට පරිවතනය කර දෙන්න.## 标题 ##

© www.soinside.com 2019 - 2024. All rights reserved.