- py-pdf ekibinin geliştirdiği, PDF dosyalarını işlemek için kullanılan Python tabanlı açık kaynak bir CLI aracı
- Meta verileri görüntüleme, sayfa çıkarma ve birleştirme, sayfa silme, görüntüleri PDF'ye dönüştürme, belge sıkıştırma, kitapçık oluşturma gibi çeşitli PDF düzenleme işlevleri sunar
- PDF'den görüntü ve açıklama metni çıkarma ya da elle düzenleme sırasında bozulan PDF'lerin xref onarımı gibi gelişmiş özellikleri de destekler
- Yakın zamanda yayımlanan 0.5.0 sürümünde PDF belgesi imzalama ve doğrulama, yalnızca açıklama eklenmiş sayfaları çıkarma, belirli sayfaları döndürme gibi yeni özellikler eklendi
Açık kaynak PDF CLI aracı pdfly
- pdfly, py-pdf organizasyonunun en yeni projelerinden biri olan, Python ortamında çalışan bir PDF dosyası işleme komut satırı aracı
- fpdf2 ve pypdf kütüphaneleri üzerine geliştirilmiştir; kurulumu ve kullanımı kolaydır, bu yüzden farklı platformlarda rahatça kullanılabilir
- pdfly'nin en büyük gücü, rakip açık kaynak projelere kıyasla geniş özellik desteği sunması ve yeni başlayan geliştiricilerin bile kolayca kullanabileceği sezgisel bir arayüze sahip olmasıdır
- Diğer projelerle karşılaştırıldığında, PDF ile ilgili işlerin büyük kısmını tek bir araçla kolayca halledebildiği için oldukça verimlidir
Başlıca özellikler
-
Meta verileri görüntüleme
pdfly meta ve pdfly pagemeta komutlarıyla PDF meta verilerini görüntüleme desteği sağlar
- Dosya adı, izinler, boyut, oluşturma/değiştirme/erişim zamanı gibi işletim sistemi verilerini sunar
- PDF sürümü, sayfa sayısı, şifreleme durumu, yazı tipi bilgileri, ek dosyalar, görüntü sayısı gibi PDF iç verilerini gösterir
-
Belge birleştirme ve düzenleme
pdfly cat: belirli sayfaları çıkarma ve belge birleştirme işlevi
pdfly rm: seçmeli sayfa silme işlevi
pdfly x2pdf: görüntüleri PDF belgesine dönüştürme
pdfly compress: belge sıkıştırma işlevi
pdfly 2-up ve pdfly booklet: kitapçık oluşturma işlevi
-
İçerik çıkarma
pdfly extract-images: PDF'den görüntü çıkarma
pdfly extract-annotated-text: açıklama eklenmiş metni çıkarma
-
PDF onarma
pdfly update-offsets: metin düzenleyiciyle elle düzenlenmiş bir PDF'nin xref tablosunu düzeltip yeniden açılabilecek şekilde onarır
- xref tablosu, belge içindeki bayt ofsetleri için kullanılan bir indekstir ve elle düzenleme sırasında bozulabilir
- 13 Ekim 2025'te pdfly 0.5.0 sürümü yayımlandı
pdfly sign: PDF belgelerine kolayca elektronik imza eklemeyi sağlar
pdfly check-sign: PDF belgeleri için imza doğrulama işlevi
pdfly extract-annotated-pages: yalnızca açıklama eklenmiş sayfaları seçerek çıkarır; büyük belgelerde tekrarlı gözden geçirme ve yeniden çalışma süreçlerini destekler
pdfly rotate: belgenin belirli sayfalarını döndürme işlevi
Gelecek planları
- GitHub'daki
up-for-grabs issue'larında çeşitli özellik fikirleri hazırlanıyor
- Yeni katkıcılar için
good first issues etiketli issue'lar da hazır; böylece açık kaynağa yeni başlayanların katılımı teşvik ediliyor
pdfly sign ve check-sign gibi elektronik imza ile ilgili özellikleri genişletmeye odaklanılması planlanıyor
- Kullanıcı geri bildirimleri, hata raporları ve özellik önerileri memnuniyetle karşılanıyor
https://github.com/py-pdf/pdfly
2 yorum
Herkesin PDF’sini kullanıyordum; sonra kişisel olarak kullanımı daha rahat olsun diye yalnızca bazı işlevleri (çıkarma, birleştirme, silme, döndürme, sıra değiştirme) destekleyen bir PDF aracı yapıp kullanmaya başladım. Bunu tarayıcıda
pdf.js/pdf-lib.jskullanarak yaptım. Ben de kendi kişisel aracımı yapmadan önce araştırdığımda, PDF ile ilgili araç ve sitelerin inanılmaz derecede çok olduğunu gördüm.Hacker News görüşleri
Bu 10 yıllık bir yorum ama bence hâlâ geçerli. Sadece Python kütüphanelerinde bile PDF ile ilgili işlevleri kısmen örtüşecek şekilde sunan çok fazla seçenek var. Diğer dillerde de benzer şekilde sayısız kütüphane bulunuyor. Sonuçta bu kütüphanelerin her biri, benzer veri yapılarını dönüştüren çeşitli işlevleri bir araya getiriyor. Bu yüzden karmaşık PDF işleri yapmak için iki ya da üç kütüphaneyi birlikte kullanmak gerekiyor; bu da hem geliştirici açısından hem de hesaplama kaynakları açısından verimsiz. Eğer biri Rust ile, bellekte çalışan, iyi tasarlanmış, düşük seviyeli PDF okuma/yazma yapıları oluşturursa tüm ekosistem gerçekten çok daha iyi bir hale gelebilir diye düşünüyorum. Herhangi bir dil veya PDF kütüphanesi bu yapıları kullanabilir ve benimsediğinde kod miktarı azalırken hız ya da güvenlik de artabilir. Ayrıca sadece
get_structure_pointer()veset_structure_pointer()sağlansa bile kütüphaneler birbirleriyle serbestçe entegre olabilir. Böyle bir yapıda küçük kütüphaneler işlev eklemeyi ve hızla benimsenmeyi daha kolay başarabilir. Gerçekte buna kimin girişeceğini bilmiyorum ama buna gerçekten ihtiyaç olduğunu düşünüyorumPDF kütüphanesi geliştirirken kullanım amacına göre bitmeyen tasarım ödünleri vardır. “Bellekte” yaklaşımının kendisi bile başlı başına büyük bir tercihtir. Çünkü PDF formatı, tüm PDF’yi tek seferde belleğe almaya gerek kalmayacak şekilde tasarlanmıştır. Ayrıca asgari arayüze sahip derin modülleri tercih eden biri olarak, sığ ama geniş işlevli modüller üretmenin çözüm olduğunu düşünmüyorum. Son olarak, JVM gibi yönetilen ortamlarda C arayüzüyle yazılmış bir kütüphane ek karmaşıklık ve ek yük de getirir. İlgili bağlantı
“Birisi Rust ile iyi tasarlanmış, bellekte çalışan bir PDF yapısı üretirse ekosistem dönüşür” görüşüne katılıyorum. Ama bugün var olan tüm kütüphanelerden çok daha iyi bir kütüphane yapmak bile kolay değil; bunu sürekli güncel tutmak, hata düzeltmek ve bakımını yapmak ise çok daha zor. Yeterli fon olsa bile her yıl aynı tutkuyla bunu sürdürecek birini bulmak gerekir; o kişi ilgisini kaybederse yeni bir sorumlu bulmak gerekir ve bu arada kaçınılmaz olarak şikâyetleri de göğüslemek gerekir. Kısacası, bunu ömür boyu geliştirip bakımını üstlenecek gönüllüye şimdiden teşekkür etmek istiyorum
“Rust ile yazılmış mükemmel bir bellek içi PDF yapısı olsa ne güzel olurdu” yorumunu görünce, gerçekten var olan açık kaynak lopdf projesini paylaşmak istiyorum
Şu anda da PDF ayrıştırma sorunlarını debug ederken sonunda kendi ayrıştırıcımı yazıyorum. Mevcut ayrıştırıcıları anlamaya çalıştım ama kodları dağınık olduğu için sonunda kendim uygulamak zorunda kaldım. PDF formatı açıkçası, genişleme sürecinde türlü türlü geçici çözüm ve aşırı özellik eklenmesiyle oldukça karmaşık hale gelmiş durumda. Fikrin kendisi iyi ama PDF’de çok fazla nesne türü ve özel özellik bulunduğundan, bunlara bağlama yaptığınız her seferde FFI karmaşıklığı yeniden ortaya çıkıyor. Belki de PDF ile JSON arasında resmî bir eşleme oluşturulsa ve bellek sorunu olmasa, büyük kütüphaneler veriyi bu şekilde birbirine aktarabilir. Sonuçta nesne modeli tamamen farklı değil
Tüm bu tartışmanın tek bir XKCD çizgi romanıyla özetlenebileceğini söyleyip ilgili çizgi roman bağlantısını paylaşıyor
Poppler, resmî web sitesinde çok ayrıntılı anlatılmasa da, aslında çeşitli araçlar içeren bir kütüphane ve Linux dağıtımlarında da kolayca kullanılabiliyor. Defalarca işime yaramış bir araç takımı. İlgili wiki bağlantısı
Bu araçları kullanarak yüz binlerce PDF maaş bordrosunu analiz edip verileri yeni bir finans sistemine aktardım. Benim için 10 üzerinden 10
Ben de günlük hayatta poppler araçlarını sık sık kullanıyorum. Gerçekten harika olduklarını düşünüyorum
Düşük seviyeli işler için qpdf oldukça kullanışlı
pdfcpu.io da var. Ancak sadece basit PDF değişiklikleri gerekiyorsa, çapraz platform açık kaynak bir GUI uygulaması bulmak çok zor. Ben de henüz bulamadım
PDF SAM basic’i (“split and merge”) iyi amaçlarla kullandım. Site bağlantısı Açık kaynak, çok platformlu ve yalnızca ücretli sürümde sunulan ek özellikleri de var
Kendi sunucunda barındırabiliyorsan Signature PDF de oldukça iyiydi. Proje bağlantısı
Belki de pdf24 tools iş görür. Çevrimdışı kurulum da destekliyor
'pdfcpu images list'komutunu denedim ama yerelde bir şey çalıştırırken dışarıdan bir yazı tipi indirmeye başlaması beni irkiltti. Ekim ayındayız ama bu bana fazla ürkütücü geldi, ben pas geçtimSonunda düşünüp taşındıktan sonra ücretli Creative Cloud lisansı kullanmaya karar verdim. Acrobat gerçekten sorunsuz çalışıyor, yapacak bir şey yok. Gerçekten alternatif istiyorum ama pratikte düzgün bir ikamesi yok
PDFgear’ı önermek istiyorum. Tam üst düzey değil ama Adobe alternatifleri arasında orta seviye PDF düzenleme için neredeyse kullanılabilir tek seçenek ve ücretsiz; ayrıca Linux dışında her platformda var
Linux dışında her şeyi desteklediğini söyleyince, OpenVMS, Apple II ve DEC Alpha ikilileri nerede diye şakayla soruyor
Master PDF de var; bunun Linux sürümü de bulunuyor diye bağlantıyı paylaşıyor
Görünüşte iyi dursa da, “ücretsiz, reklamsız, veri satmıyor ve yalnızca yatırım fonlarıyla şeffaf biçimde işletiliyor” söylemine inanmak zor geliyor. Hatta sitelerindeki açıklamayı alıntılayarak, PDFgear’ın reklam veya veri geliri olmadan yatırım fonu ve teknik optimizasyonla sürdürüldüğünü belirtiyor
PDFgear bana biraz şüpheli geliyor. Geçmişte kullanıcı fark etmeden buluta yükleme yaptığı olmuştu ve şirketin kendi subreddit’ini de yönettiğine dair işaretler var
Bugün öğrendiğim şey: PDF dosyaları için zaten çok sayıda çok amaçlı araç varmış
Keşke içindekiler tablosunu (metadata) otomatik oluşturan bir özellik gerçekten olsa. Eski kitap PDF’lerinde bu olmayınca gezinmek çok zorlaşıyor. Kybook3’te de bir sürümü var ama doğru düzgün çalışmıyor. Günümüz LLM teknolojisiyle bu artık mümkün değil mi diye düşünüyorum
PDF imzalamayı otomatikleştiren bir yardımcı aracın gerçekten anlamlı olup olmadığını merak ediyorum. Sonuçta imzanın özü, bir insanın okuyup onay vermiş olması değil mi; bunu otomatikleştirmek ne kadar doğru?
Şirketlerin kendi ürettikleri belgeleri otomatik olarak imzalamaması için bir neden göremiyorum. Burada kastedilen imza, PDF üzerindeki görsel bir imza değil; herkesin belgeyi kimin verdiğini doğrulayabildiği kriptografik imza. Yani kullanıcının banka ekstresinin gerçekten bankadan geldiğini doğrulayabilmesini sağlayan şey
CEO’nun sayısız çalışan sözleşmesini tek tek imzalayacak zamanı yok. Analog dönemde de sekreterlerin kaşe bastığı düşünülürse, imza otomasyonu gayet anlamlı
Banka hesap doğrulama belgesi gerektiğinde otomatik imzalanmış şekilde veriliyor. Şube müdürünün oturup bütün başvuruları tek tek imzalamasını beklemem
Örneğin 25 PDF imzalamanız gerekiyorsa, görüntüleyicide tek tek elle uğraşmak yerine ekranda gözden geçirip toplu imza atmak çok daha kullanışlı
Yukarıda anılanların dışında, “Go PDF processor and CLI” olarak tanımlanan pdfcpu da var. pdfcpu GitHub
Benim aklımdaki çok amaçlı PDF aracı, Didier Stevens’ın PDF araç takımıydı. Program bağlantısı