Create a PDF document using Python

PDF il formato file è comunemente usato per presentare e scambiare documenti. Inoltre, offre molti vantaggi, come la riduzione dei MB e la visualizzazione di testo, immagini, tabelle, annotazioni, segnalibri e collegamenti ipertestuali senza perdere layout e formattazione. Gli sviluppatori Python potrebbero considerare questi vantaggi e cercare di pubblicare i loro dati come PDF. Se sei uno di quegli sviluppatori, questo articolo ti aiuterà a imparare come creare un documento PDF usando Python.

I seguenti punti saranno trattati in questo articolo:

Installazione del pacchetto Python PDF Creator

Per creare un documento PDF programmaticamente, utilizzeremo un pacchetto Python PDF creator, che consente agli sviluppatori di generare, leggere, convertire e manipolare file PDF senza utilizzare Adobe Acrobat.

Per favore download o installa il pacchetto da PyPI utilizzando il comando pip riportato di seguito:

pip install aspose-pdf

Come creare facilmente un documento PDF in Python

Innanzitutto, spiegheremo come creare un documento PDF contenente un frammento di testo. I seguenti sono i passaggi per creare un semplice documento PDF da zero.

  1. Crea un’istanza della classe Document.
  2. Aggiungi una nuova Page alla collezione di pagine del documento.
  3. Crea e aggiungi un nuovo TextFragment ai paragrafi del PDF.
  4. Genera il file PDF utilizzando Document.Save() metodo.

Il seguente frammento di codice dimostra come creare un documento PDF in Python.

# Inizializza l'oggetto documento
document = aspose.pdf.Document()
# Aggiungi pagina
page = document.pages.add()
# Inizializza oggetto textfragment
text= "Lorem ipsum dolor sit amet, consectetur adipiscing elit, " \
      "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." \
      " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" \
      " nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in " \
      "reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." \
      " Excepteur sint occaecat cupidatat non proident, sunt in culpa qui " \
      "officia deserunt mollit anim id est laborum."
text_fragment = aspose.pdf.text.TextFragment (text)
# Aggiungi frammento di testo a nuova pagina
page.paragraphs.add(text_fragment)
# Salva PDF aggiornato
document.save("output.pdf")

Vedrai l’output come segue.

Crea un documento PDF in Python

Applica il formato del testo nei PDF utilizzando Python

Dopo aver creato un documento, impariamo come applicare la formattazione del testo nei PDF utilizzando una libreria PDF in Python. Si prega di seguire i passaggi indicati di seguito.

  • First, create a new PDF document using Document class.
  • Secondo, scegli la pagina in cui vuoi posizionare il testo.
  • Allora, crea gli oggetti di TextFragment e imposta il loro testo e altre opzioni di formattazione come posizione, font, colore, dimensione, ecc.
  • Dopo di ciò, aggiungi i frammenti di testo alla pagina utilizzando il metodo Page.paragraphs.add().
  • Finalmente, chiama il Document.Save() metodo per creare il documento PDF.

Il seguente frammento di codice mostra come applicare la formattazione del testo nei PDF in modo programmatico utilizzando Python.

# Inizializza oggetto documento
document = aspose.pdf.Document()
# Aggiungi pagina
page = document.pages.add()
# Create text fragments
text1= "Text1: Lorem ipsum dolor sit amet, consectetur adipiscing elit, " \
      "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." \
      " Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris" \
      " nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor"
text2= "Text2: Lorem ipsum dolor sit amet, consectetur adipiscing elit, " \
      "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
text_fragment1 = aspose.pdf.text.TextFragment (text1)
text_fragment1.position= aspose.pdf.text.Position(100, 700)
text_fragment2 = aspose.pdf.text.TextFragment (text2)
text_fragment2.position= aspose.pdf.text.Position(100, 600)

# Imposta le proprietà del testo
text_fragment1.text_state.font_size = 12;
text_fragment1.text_state.font = aspose.pdf.text.FontRepository.find_font("TimesNewRoman");
text_fragment1.text_state.background_color=aspose.pdf.Color().aqua

text_fragment2.text_state.underline = True
text_fragment2.text_state.strike_out = True

# Add text fragments to  page
page.paragraphs.add(text_fragment1)
page.paragraphs.add(text_fragment2)
# Salva PDF aggiornato
document.save("output.pdf")

Vedrai il PDF di output come segue.

Applica formattazione del testo nei PDF utilizzando Python

Python: Inserire immagini in un file PDF

Abbiamo imparato a cambiare il formato del testo nella sezione precedente. Pertanto, in questa sezione, spiegheremo come aggiungere immagini ai documenti PDF. Segui i passaggi riportati di seguito per svolgere il compito.

  1. In primo luogo, crea un nuovo documento PDF utilizzando Document classe.
  2. In secondo luogo, ottieni la pagina desiderata dove vuoi inserire l’immagine.
  3. In terzo luogo, aggiungi l’immagine alla pagina utilizzando Page.addimage(filepath, rectangle), mentre la classe Rectangle viene utilizzata per posizionare l’immagine sulla pagina.
  4. Alla fine, genera il documento PDF utilizzando Document.Save() metodo.

Il seguente campione di codice mostra come aggiungere immagini in PDF utilizzando Python.

# Inizializza oggetto documento
document = aspose.pdf.Document()
# Aggiungi pagina
page = document.pages.add()
# Imposta le coordinate dell'immagine
lowerLeftX = 400;
lowerLeftY = 400;
upperRightX = 150;
upperRightY = 150;

rectangle= aspose.pdf.Rectangle(lowerLeftX,lowerLeftY,upperRightX,upperRightY,True)
# Aggiungi immagine alla pagina
page.add_image("aspose-logo.jpg", rectangle)

# Salva PDF aggiornato
document.save("output.pdf")

Vedrai il PDF di output come segue.

Inserire immagini in un file PDF utilizzando Python

Aggiungi tabelle in un PDF utilizzando Python

Dopo aver inserito un’immagine, aggiungiamo una tabella al tuo file PDF. Per favore, scrivi il codice seguendo i passaggi indicati di seguito:

  1. Crea un oggetto della classe Document per creare un nuovo PDF.
  2. Vai alla pagina su cui desideri creare la tabella.
  3. Crea un’istanza della classe Table.
  4. Specifica i confini della tabella e delle celle utilizzando la BorderInfo classe.
  5. Crea e aggiungi una nuova riga alla Table.Rows collezione.
  6. Aggiungi celle alla Row.Cells collezione.
  7. Aggiungi la tabella alla pagina utilizzando Page.paragraphs.add() metodo.
  8. Salva il documento PDF utilizzando Document.Save() metodo.

Il seguente campione di codice mostra come aggiungere una tabella in un file PDF utilizzando Python.

# Inizializza oggetto documento
document = aspose.pdf.Document()
# Aggiungi pagina
page = document.pages.add()
# Create table
table = aspose.pdf.Table()
# Definire i bordi delle tabelle e delle celle
table.border=aspose.pdf.BorderInfo(aspose.pdf.BorderSide.ALL,2,aspose.pdf.Color().dark_gray)
table.default_cell_border= aspose.pdf.BorderInfo(aspose.pdf.BorderSide.ALL,2,aspose.pdf.Color().black)
# Aggiungi righe nella tabella
for i in range(1, 11):
    row = table.rows.add()
    # Aggiungi celle della tabella
    row.cells.add("Column (" + str(i) + ", 1)");
    row.cells.add("Column (" + str(i) + ", 2)");
    row.cells.add("Column (" + str(i) + ", 3)");

# Aggiungi tabella alla pagina
page.paragraphs.add(table);

# Salva PDF aggiornato
document.save("D:\\AsposeSampleResults\\output.pdf")

Vedrai il PDF di output come segue.

Aggiungi tabelle in un PDF utilizzando Python

Ottieni una licenza gratuita

Puoi ottenere una free temporary license per provare l’API senza limitazioni di valutazione.

Riassumendo

In questo articolo, abbiamo spiegato la procedura per creare un file PDF in Python. Allo stesso modo, abbiamo descritto come aggiungere immagini, tabelle e formattazione del testo in un documento PDF.

Puoi visitare la documentazione per saperne di più sulla libreria PDF creator di Python.

Please stay tuned at conholdate.com for regular updates.

Fai una domanda

Puoi farci sapere le tue domande o richieste sul nostro forum.

Vedi anche