Dağınık görüntüler koleksiyonunu tek, aranabilir bir PDF haline dönüştürmek, raporlama araçları, fatura oluşturucular ve arşivleme sistemleri için sıkça bir gereksinimdir. Aspose.PDF for Python via .NET hızlı ve güvenilir bir şekilde bu dönüşümü Python uygulamalarında gerçekleştiren güçlü bir SDK’dır. Bu kılavuz, SDK’yı kurmayı, Python Imaging Library ile görüntüleri yüklemeyi, PDF’yi sayfa sayfa oluşturmaya, sıkıştırma ayarlarını ayarlamaya ve sonunda sonucu kaydetmeye kadar adım adım rehberlik eder; tüm bunlar net kod örnekleriyle sunulur.
Başlamadan Önce: Önkoşullar ve Kurulum
Bu öğreticiyi takip etmek için şunlara ihtiyacınız var:
- Python 3.8 veya daha yeni bir sürüm, geliştirme makinenize kurulu.
- Seçtiğiniz bir IDE veya editör (VS Code, PyCharm, vb.).
- SDK paketini indirmek için internete erişim.
Aspose.PDF SDK ve Pillow kütüphanesini (de‑facto Python Görüntü Kütüphanesi) pip ile kurun:
pip install aspose-pdf pillow
SDK’yı resmi sürüm sayfasından manuel olarak da indirebilirsiniz: Aspose.PDF for Python via .NET Download. Kurulumdan sonra, betiğinizde gerekli ad alanlarını içe aktarın.
Ortam hazır olduğuna göre, uygulamaya dalalım.
Python’da Görüntülerden PDF Oluşturma: Adım Adım Kılavuz
Adım 1: Kaynak Görüntüleri Yükleyin
İlk olarak, Pillow’ı kullanarak her bir görüntü dosyasını açın ve bir listede tutun. Bu, PDF oluşturucu için görüntü verilerini hazırlar.
from PIL import Image
import os
image_folder = "input_images"
image_paths = [os.path.join(image_folder, f) for f in os.listdir(image_folder)
if f.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif'))]
images = [Image.open(p) for p in image_paths]
Adım 2: Yeni bir PDF Belgesi Oluşturun
Sayfaları tutacak Aspose.PDF Document nesnesini oluşturun.
import aspose.pdf as ap
pdf_doc = ap.Document()
Document sınıfı hakkında daha fazla ayrıntı için, API referansı sayfasına bakın.
Adım 3: Her Görüntüyü Ayrı Bir Sayfa Olarak Ekle
Yüklenen görüntülerde döngü yapın, bir sayfa oluşturun ve görüntüyü gömün. SDK, görüntüyü sayfa boyutuna sığacak şekilde otomatik olarak ölçeklendirir.
for img in images:
page = pdf_doc.pages.add()
# Convert Pillow image to a byte stream compatible with Aspose.PDF
with io.BytesIO() as img_stream:
img.save(img_stream, format='PNG')
img_stream.seek(0)
page.resources.images.add(ap.Image(img_stream))
# Fit the image to the page dimensions
page.page_info.width = img.width
page.page_info.height = img.height
Adım 4: Sıkıştırma Seçeneklerini Yapılandırın
Kaliteyi kaybetmeden son PDF boyutunu azaltmak için görüntü sıkıştırma seviyesini ayarlayın.
# Set JPEG compression for all images (if using JPEG format)
for img_res in pdf_doc.resources.images:
img_res.compression = ap.ImageCompression.JPEG
img_res.jpeg_quality = 80 # Quality range: 0‑100
Adım 5: PDF Dosyasını Kaydet
Son olarak, birleştirilmiş belgeyi diske yazın.
output_path = "output/result.pdf"
pdf_doc.save(output_path)
print(f"PDF generated successfully at {output_path}")
Bu adımlarla, Python’da görüntülerden PDF oluşturmak için tam işlevsel bir iş akışına sahipsiniz.
Python’da Görüntü Koleksiyonundan PDF Oluşturma - Tam Kod Örneği
Aşağıdaki betik, tüm parçaları tek bir çalıştırılabilir programda bir araya getirir.
import os
import io
from PIL import Image
import aspose.pdf as ap
# -------------------- Configuration --------------------
image_folder = "input_images" # Folder containing source images
output_pdf = "output/result.pdf" # Destination PDF file
jpeg_quality = 80 # Compression quality (0‑100)
# -------------------- Load Images --------------------
image_paths = [os.path.join(image_folder, f) for f in os.listdir(image_folder)
if f.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif'))]
images = [Image.open(p) for p in image_paths]
# -------------------- Create PDF Document --------------------
pdf_doc = ap.Document()
for img in images:
page = pdf_doc.pages.add()
with io.BytesIO() as img_stream:
img.save(img_stream, format='PNG')
img_stream.seek(0)
pdf_image = page.resources.images.add(ap.Image(img_stream))
page.page_info.width = img.width
page.page_info.height = img.height
# Apply compression if the original is JPEG
if img.format == 'JPEG':
pdf_image.compression = ap.ImageCompression.JPEG
pdf_image.jpeg_quality = jpeg_quality
# -------------------- Save PDF --------------------
pdf_doc.save(output_pdf)
print(f"PDF generated successfully at {output_pdf}")
Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce dosya yollarını (
input_images,output/result.pdf) güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler adresine bakın veya destek ekibi ile iletişime geçin.
Gelişmiş PDF Oluşturma Ayarları: Seçenekler ve Yapılandırma
Temel iş akışının ötesinde, Aspose.PDF çıktıyı ince ayarlamak için çeşitli özellikler sunar.
Görüntü Sıkıştırma Seviyesi
Kalite ve dosya boyutu arasındaki dengeyi kontrol edin.
pdf_image.compression = ap.ImageCompression.JPEG
pdf_image.jpeg_quality = 70 # Lower value = smaller file, lower quality
Sayfa Boyutu ve Kenar Boşlukları
Eğer tutarlı bir düzen istiyorsanız, özel bir sayfa boyutu ayarlayın.
page.page_info.width = 595 # A4 width in points
page.page_info.height = 842 # A4 height in points
page.page_info.margin = ap.MarginInfo(10, 10, 10, 10)
Çözünürlük (DPI)
Yüksek DPI, daha büyük PDF’lerin maliyeti karşılığında daha keskin görüntüler sağlar.
pdf_doc.page_info.dpi = 300
Yapılandırılabilir özelliklerin tam listesi için, API referansına bakın.
Sonuç
Artık Python’da görüntülerden PDF oluşturmak için eksiksiz, programatik bir çözüme sahipsiniz ve bunu Aspose.PDF for Python via .NET kullanarak yapabilirsiniz. SDK, görüntü yüklemeyi, sayfa oluşturmayı, sıkıştırmayı ve kaydetmeyi sadece birkaç satır kodla yönetir, böylece düşük seviyeli PDF işlemleri yerine iş mantığına odaklanabilirsiniz. Üretime geçerken, uygun bir lisans almayı unutmayın; detaylar fiyatlandırma sayfasında mevcuttur ve değerlendirme için bir geçici lisans ile başlayabilirsiniz. İyi kodlamalar ve görüntü koleksiyonlarını şık PDF’lere dönüştürmenin sadeliğinin tadını çıkarın!
FAQs
Python’da Aspose.PDF kullanarak görüntülerden PDF nasıl oluşturabilirim?
Aspose.PDF SDK’sını kullanarak birDocumentoluşturun, Pillow ile yüklenen her görüntü için bir sayfa ekleyin, isteğe bağlı olarak sıkıştırma ayarlayın ve PDF’yi yazmak içinsave()metodunu çağırın. Tam örnek yukarıda dahil edilmiştir.PDF oluşturma için hangi görüntü formatları destekleniyor?
SDK, PNG, JPG, JPEG, BMP, GIF, ve TIFF formatlarını doğrudan kabul eder. Pillow, desteklenmeyen formatları PDF’ye eklemeden önce bunlardan birine dönüştürebilir.Ticari kullanım için lisansa ihtiyacım var mı?
Evet. Üretim dağıtımları için geçici lisans sayfası üzerinden geçici bir değerlendirme lisansı alın ve tam lisansı fiyatlandırma sayfasından satın alın.PDF sayfa boyutunu ve çözünürlüğünü ayarlayabilir miyim?
Kesinlikle.page.page_info.width,page.page_info.heightvepdf_doc.page_info.dpikullanarak boyutları ve DPI’yi kontrol edebilirsiniz, Configuration / Options bölümünde gösterildiği gibi.
