[PYTHON] Seitenzahl zu PDF hinzufügen

Was ist das

Hier erfahren Sie, wie Sie ein PDF mit Python kostenlos bearbeiten können. Fügen wir als Beispiel jeder Seite eine Seitenzahl hinzu.

image

Installation

Verwenden Sie Folgendes:

Installation


conda install -y reportlab
pip install PyPDF2 pdfformfiller

Wenn Sie Anaconda nicht verwenden, verwenden Sie pip anstelle von conda.

Beispiel zum Hinzufügen einer Seitenzahl

(Unter Ubuntu können Sie mit apt-get install fonts-ipaexfont installieren.)

Beachten Sie, dass FloatObject, ein Element von PyPDF2.pdf.PageObject.mediaBox, das das Papierformat darstellt, Decimal zurückgibt, sodass beim Addieren / Subtrahieren mit der reellen Zahl ein Fehler auftritt. Hier ersetze ich das FloatObject gewaltsam, damit es zur reellen Zahl addiert oder von dieser subtrahiert werden kann.

Mit addPage (Eingabedatei, Ausgabedatei) können Sie ein PDF mit Seitenzahlen erstellen, die dem Original-PDF hinzugefügt wurden.

python


import PyPDF2
class FloatObject(PyPDF2.generic.FloatObject):
    def __add__(self, other):
        return self.as_numeric() + other
    def __radd__(self, other):
        return self.as_numeric() + other
    def __sub__(self, other):
        return self.as_numeric() - other
    def __rsub__(self, other):
        return -self.as_numeric() + other
PyPDF2.generic.FloatObject = FloatObject

from reportlab.lib.styles import ParagraphStyle
from reportlab.lib.enums import TA_CENTER
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from pdfformfiller import PdfFormFiller

def addPage(infile, outfile):
    #Unter Linux'/usr/share/fonts/opentype/ipaexfont-gothic/ipaexg.ttf'Eine solche
    pdfmetrics.registerFont(TTFont('IPAexGothic', 'c:/Windows/Fonts/ipaexg.ttf'))
    sty = ParagraphStyle('sty', alignment=TA_CENTER, fontName='IPAexGothic', fontSize=9)
    ff = PdfFormFiller(infile)
    for i in range(ff.pdf.getNumPages()):
        p = ff.pdf.getPage(i)
        ff.add_text('Seite%d'%(i+1), i, (0,p.mediaBox[3]-30), p.mediaBox.getUpperRight(), sty)
    ff.write(outfile)

Nachtrag

Ich habe es verpackt.

https://pypi.org/project/addpage/

das ist alles

Recommended Posts

Seitenzahl zu PDF hinzufügen
So fügen Sie einer PDF-Datei Seitenzahlen hinzu (in Python)
[Bachstelze] Fügen Sie dem Bachstelzenprojekt eine Anmeldeseite hinzu
[Python] Fortsetzung - Konvertieren Sie PDF-Text Seite für Seite in CSV
Faltung zu MNIST hinzufügen
[Python] Konvertiert PDF-Text für jede Seite in CSV (2/24 Postscript)
Fügen Sie MeCab ein Wörterbuch hinzu
[Memo muss hinzugefügt werden] Seite, die bei der Entwicklung mit GAE / P angezeigt wird
Fügen Sie MeCab ein Benutzerwörterbuch hinzu
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
Funktion zum Konvertieren von Excel-Spalten in Zahlen
Fügen Sie mit ArcPy Felder zu Features hinzu
Konvertieren Sie Markdown in Python in PDF
Konvertieren Sie A4 PDF alle 2 Seiten in A3
Fügen Sie dem Matplotlib-Histogramm ein kumulatives Verhältnis hinzu
Konvertierung von pdf nach txt 1 [pdfminer]
Python 2.7 Fügen Sie Dash.app japanische Dokumentation hinzu
So fügen Sie sudo hinzu, wenn Sie das Debug ausführen
Konvertierung von pdf nach txt 2 [pyocr]
Fügen Sie den benutzerdefinierten Befehlen von Django Parameter hinzu
So fügen Sie ein AWS EBS-Volume hinzu
Konvertieren Sie PDF in Image mit ImageMagick
TRACE-Protokollebene zu Python hinzufügen ...?
Fügen Sie EC2-fähige Benutzer zu EC2 hinzu
Mit ReportingAPI + Cloud-Funktionen können Sie die Anzahl der Besuche auf jeder Seite ermitteln