Altbilgi içeriğine atla
PYTHON PDF ARAçLARı

Python'da PDF Dosyasi Nasıl Oluşturulur

PDF (Taşınabilir Belge Formatı), çevrimiçi veri gönderme ve alma için en popüler dijital dosya formatıdır. Öncelikle veri biçimlendirmesini korumak ve verileri şifrelenmiş bir parola ile güvence altına almak için kullanılır. .pdf uzantısı, yazılım uygulamalarından, donanımdan veya işletim sistemlerinden bağımsızdır.

Bu makalede, Python programlama dilinde bir PDF dosyası oluşturacağız. Çevrimiçi olarak birçok seçenek mevcut olsa da, burada PDF dosyaları oluşturmak için bir Python kütüphanesi kullanacağız. Python'da tek veya çok sayfalı PDF belgeleri oluşturmak için iki ünlü kütüphane aşağıda verilmiştir:

  1. Reportlab
  2. PDFKit

Yukarıda belirtilen Python PDF kütüphanelerinden herhangi biri ile PDF oluşturabiliriz.

Python'da Bir PDF Dosyası Nasıl Oluşturulur?

Her iki kütüphaneye de teker teker bakalım.

Reportlab Kütüphanesi ile PDF Dosyaları Oluşturma

Reportlab kütüphanesi, kolayca PDF dosyaları oluşturmak için kullanılabilecek ücretsiz bir açık kaynak PDF aracıdır. Çok sayfalı belgelerde belirli bir konuma resim ve metin eklemek için bir dizi çizim aracı sağlar. Şifrelendirilmiş PDF dosyalarını encryptCanvas yöntemiyle de oluşturabilirsiniz.

Kurulum

Reportlab'ı kurmak için pip paket yöneticisi gereklidir. Pip komutunu kullanarak istenen paketi otomatik olarak indirir ve kurar. Windows cmd veya PowerShell'de şu komutu yazmanız yeterlidir:

pip install reportlab
pip install reportlab
SHELL

Not: Python kurulurken, yukarıdaki komutu cmd veya PowerShell'de herhangi bir yerden çalıştırmak için yol ortam değişkenine eklenmelidir. Pip, Python 3+ için kullanılmalıdır çünkü o güncellenmiş bir sürümdür.

Yeni Bir Python Dosyası Açın

Reportlab kütüphanesini kullanmak için bir Python dosyasında kod yazıp çalıştırmamız ve PDF dosyalarını oluşturmamız gerekiyor.

  1. Windows arama çubuğundan Python varsayılan IDLE kabuğunu arayın ve açın ve Ctrl + N tuşlarına basın veya Dosya sekmesinden "Yeni Dosya" yı seçin. Bu, kod yazmak için metin editörünü açacaktır.
  2. Ardından, dosyayı uygun adla kaydedin. Ben ona "createpdf.py" ismini veriyorum.

PDF Oluşturma için Python Kodu

Aşağıdaki kod, belge öğelerini çizer ve saniyeler içinde bir PDF oluşturur:

# Importing required modules from ReportLab
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib import colors

# File and document attributes
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'

# Creating a PDF object
pdf = canvas.Canvas(fileName)

# Setting the title of the document
pdf.setTitle(documentTitle)

# Registering a TrueType font
pdfmetrics.registerFont(TTFont('abc', 'Arial.ttf'))

# Creating the title by setting its font and placing it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# Creating the subtitle by setting its font, color, and placing it on the canvas
pdf.setFillColorRGB(0, 0, 255)  # Set color to blue
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)

# Saving the PDF
pdf.save()
# Importing required modules from ReportLab
from reportlab.pdfgen import canvas
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib import colors

# File and document attributes
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'

# Creating a PDF object
pdf = canvas.Canvas(fileName)

# Setting the title of the document
pdf.setTitle(documentTitle)

# Registering a TrueType font
pdfmetrics.registerFont(TTFont('abc', 'Arial.ttf'))

# Creating the title by setting its font and placing it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# Creating the subtitle by setting its font, color, and placing it on the canvas
pdf.setFillColorRGB(0, 0, 255)  # Set color to blue
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)

# Saving the PDF
pdf.save()
PYTHON

Kod Açıklaması

Tüm modülleri ve paketleri ithal ettikten sonra, bir PDF dosyasına yazılacak içeriğin tamamını başlatıyoruz.

fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
fileName = 'sample.pdf'
documentTitle = 'sample'
title = 'Create PDF'
subTitle = 'Using ReportLab !!'
PYTHON

Şimdi, PDF tuvali oluşturup, belgenin başlığını ayarlıyor ve ardından uygun yazı tipleri ve boyutlarla belgede ortalanmış bir başlık ve alt başlık ekliyoruz.

# Creating a PDF object
pdf = canvas.Canvas(fileName)

# Setting the title of the document
pdf.setTitle(documentTitle)

# Registering a TrueType font
pdfmetrics.registerFont(TTFont('abc', 'Arial.ttf'))

# Creating the title by setting its font and placing it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# Creating the subtitle by setting its font, color, and placing it on the canvas
pdf.setFillColorRGB(0, 0, 255)  # Set color to blue
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
# Creating a PDF object
pdf = canvas.Canvas(fileName)

# Setting the title of the document
pdf.setTitle(documentTitle)

# Registering a TrueType font
pdfmetrics.registerFont(TTFont('abc', 'Arial.ttf'))

# Creating the title by setting its font and placing it on the canvas
pdf.setFont('abc', 36)
pdf.drawCentredString(300, 770, title)

# Creating the subtitle by setting its font, color, and placing it on the canvas
pdf.setFillColorRGB(0, 0, 255)  # Set color to blue
pdf.setFont("Courier-Bold", 24)
pdf.drawCentredString(290, 720, subTitle)
PYTHON

Son olarak, tuvaller üzerindeki her şey çizildikten sonra PDF dosyasını kaydediyoruz.

# Saving the PDF
pdf.save()
# Saving the PDF
pdf.save()
PYTHON

Python'da Reportlab kullanarak basit bir PDF dosyası oluşturmak için drawString ve drawText yöntemlerini de kullanabiliriz.

PDFKit Kütüphanesi ile PDF Dosyaları Oluşturma

PDFKit kütüphanesi, Python'da PDF dosyaları oluşturma söz konusu olduğunda en iyi yaklaşımlardan biridir. HTML kodu kullanarak PDF dosyaları oluşturabilir. Basit ve karmaşık HTML dosyalarını veya URL'lerden HTML'yi piksel mükemmel yazdırılabilir bir PDF sayfasına çevirebilirsiniz. Ancak, PDFKit HTML'i PDF'e dönüştürmek için wkhtmltopdf özelliklerini entegre eder. Windows, Linux ve Mac için wkhtmltopdf yüklemek için bu bağlantıyı ziyaret edin.

Not: Windows işletim sisteminde, wkhtmltopdf program dosyalarına yüklenecektir.

Kurulum

PDFKit'i kurmak için aşağıdaki komutu kullanın:

pip install pdfkit
pip install pdfkit
SHELL

URL'den PDF Dosyaları Oluşturma

PDFKit kullanarak PDF dosyaları oluşturmak çok basit ve tek satırlık bir işlemdir.

import pdfkit

# Convert a webpage from a URL to a PDF file
pdfkit.from_url('http://google.com', 'out.pdf')
import pdfkit

# Convert a webpage from a URL to a PDF file
pdfkit.from_url('http://google.com', 'out.pdf')
PYTHON

HTML Dosyalarından PDF Dosyaları Oluşturma

import pdfkit

# Convert an HTML file to a PDF file
pdfkit.from_file('index.html', 'out.pdf')
import pdfkit

# Convert an HTML file to a PDF file
pdfkit.from_file('index.html', 'out.pdf')
PYTHON

HTML Şablonlarından PDF Dosyaları Oluşturma

Çıkış dosyası olarak dönüştürmek üzere bir PDF şablonu olarak HTML şablonlarını bir string olarak geçirebilirsiniz.

import pdfkit

# HTML content to convert to PDF
html_string = """
    <html>
        <head>
        <meta name="pdfkit-page-size" content="Legal"/>
        <meta name="pdfkit-orientation" content="Landscape"/>
        </head>
        <body>Hello World!</body>
    </html>
    """

# Convert HTML string to a PDF file
pdfkit.from_string(html_string, 'out.pdf')
import pdfkit

# HTML content to convert to PDF
html_string = """
    <html>
        <head>
        <meta name="pdfkit-page-size" content="Legal"/>
        <meta name="pdfkit-orientation" content="Landscape"/>
        </head>
        <body>Hello World!</body>
    </html>
    """

# Convert HTML string to a PDF file
pdfkit.from_string(html_string, 'out.pdf')
PYTHON

PDFKit, HTML şablonları kullanarak Python'da kolayca PDF oluşturmaya olanak tanır.

IronPDF Kütüphanesi

IronPDF, .NET projelerinde PDF dosyaları oluşturmak için faydalı bir araçtır. Bu kütüphanenin yaygın bir kullanımı, HTML'nin bir PDF belgesi olarak render edilmesidir.

IronPDF, HTML sayfalarını PDF dosyalarına dönüştürmek için bir .NET Chromium motoru kullanır. HTML to PDF dönüşümü ile PDF'leri konumlandırmak veya tasarlamak için karmaşık API'lere ihtiyaç yoktur. IronPDF ayrıca tüm standart web sayfası teknolojilerini destekler: HTML, ASPX, JS, CSS ve resimler.

Ayrıca, HTML5, CSS, JavaScript ve resimleri kullanarak bir .NET PDF kütüphanesi oluşturmanıza olanak sağlar. Bir PDF'ye kolayca düzenleme, damga ekleme ve üst bilgi ve alt bilgi ekleme işlemleri yapabilirsiniz. Ayrıca, PDF metnini okumayı ve resimleri çıkarmayı da çok kolay hale getirmektedir.

IronPDF ile başlamanız için NuGet paketini kurmanız gerekir (bu adımın doğrulanması veya bir .NET geliştirme ortamında çalıştırılması gerektiğinden emin olun):

pip install ironpdf

Aşağıdaki örnek, doğrudan bir URL'den nasıl PDF oluşturacağınızı anlatmaktadır:

from ironpdf import ChromePdfRenderer

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")

# Export to a file
pdf.SaveAs("url.pdf")
from ironpdf import ChromePdfRenderer

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from a URL
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")

# Export to a file
pdf.SaveAs("url.pdf")
PYTHON

Aşağıdaki kod, HTML kodu ile birlikte herhangi bir CSS veya JavaScript ile nasıl PDF dosyası oluşturacağınızı anlatmaktadır:

from ironpdf import ChromePdfRenderer

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

# Export to a file
pdf.SaveAs("output.pdf")

# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", base_path=r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
from ironpdf import ChromePdfRenderer

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")

# Export to a file
pdf.SaveAs("output.pdf")

# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath is set as the file location to load assets from
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", base_path=r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
PYTHON

Yukarıdaki koda baktığınızda, oldukça basit ve temiz olduğunu görebilirsiniz. HTML kodundan bir PDF dosyası oluşturmak için çok az satır kod gereklidir. Hızlı, güvenilir ve zamandan tasarruf sağlayan, doğru sonuçlar veren bir çözümdür.

"IronPDF"'i indirin ve ücretsiz deneyin. Deneme süresinden sonra, lisanslama $799 ile başlar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara