Buat File PDF di Python
Aspose.PDF for Python via .NET adalah API manipulasi PDF yang memungkinkan pengembang untuk membuat, memuat, memodifikasi, dan mengonversi file PDF langsung dari Python untuk aplikasi .NET dengan hanya beberapa baris kode.
Gunakan contoh-contoh ini ketika Anda perlu membuat file PDF baru dari awal atau mengonversi output OCR menjadi dokumen PDF yang dapat dicari di Python.
Cara Membuat File PDF Sederhana
Untuk membuat PDF menggunakan Python via .NET dengan Aspose.PDF, Anda dapat mengikuti langkah-langkah berikut:
- Buat objek dari Document kelas
- Tambahkan sebuah Page objek ke pages koleksi objek Document
- Tambah TextFragment ke Paragraph koleksi halaman
- Simpan dokumen PDF yang dihasilkan
import sys
from os import path
import aspose.pdf as ap
def create_new_document(output_pdf):
"""Create a simple PDF with a single “Hello World!” page."""
document = ap.Document()
page = document.pages.add()
page.paragraphs.add(ap.text.TextFragment("Hello World!"))
document.save(output_pdf)
Cara Membuat Dokumen PDF yang Dapat Dicari
Aspose.PDF for Python via .NET memungkinkan pembuatan dan manipulasi dokumen PDF yang ada. Saat menambahkan elemen Text ke file PDF, PDF yang dihasilkan dapat dicari. Namun, saat mengonversi gambar yang berisi teks ke file PDF, konten PDF yang dihasilkan tidak dapat dicari. Sebagai solusi, kita dapat menerapkan OCR pada file yang dihasilkan sehingga menjadi dapat dicari.
Berikut ini adalah kode lengkap untuk memenuhi kebutuhan ini:
- Muat PDF menggunakan ‘ap.Document’.
- Konfigurasikan resolusi rendering.
- Gunakan ‘PngDevice.process’ untuk mengubah halaman PDF yang dipilih menjadi gambar.
- Jalankan OCR pada gambar yang dihasilkan.
- Buat PDF baru dari output OCR.
- Simpan PDF yang dapat dicari.
import aspose.pdf as ap
import io
# Requires: pip install pytesseract
# Also ensure the Tesseract OCR engine is installed and available on your system PATH.
import pytesseract
from pathlib import Path
# Path to the source PDF
input_pdf_path = "input.pdf"
# Path for the temporary image
temp_image_path = "temp_image.png"
# Path for the searchable PDF
output_pdf_path = "output_searchable.pdf"
page_number = 1
image_stream = io.FileIO(temp_image_path, "w")
try:
document = ap.Document(input_pdf_path)
resolution = ap.devices.Resolution(300)
png_device = ap.devices.PngDevice(resolution)
png_device.process(document.pages[page_number], image_stream)
image_stream.close()
pdf = pytesseract.image_to_pdf_or_hocr(temp_image_path, extension="pdf")
document = ap.Document(io.BytesIO(pdf))
document.save(output_pdf_path)
finally:
image_file = Path(temp_image_path)
image_file.unlink(missing_ok=True)