PDF birleştirme ve bölmeGeliştirme ve Özelleştirme

PDF dosyalarını tek dosyada birleştiren ya da büyük PDF'leri sayfalara veya kurallara göre parçalara bölen bir Python betiği

Genellikle 15 dakika içinde hazırRevizyonlar dahilKalite kontrolü
Paketler
Ödeme korumasıAyrıntılar
  • Paket kapsamındaki revizyonlar ücretsizdir.
  • Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.

Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

PDF dosyalarını tek dosyada birleştiren ya da büyük PDF'leri sayfalara veya kurallara göre parçalara bölen bir Python betiği

Örnek sonuç

Standart paket için örnek

Merging the monthly sales files of 9 shops into one Excel report

How it is run

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN  shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO  Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")

Settings, not code

The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:

[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price

A part of the code

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Reads one shop's file and gives it the report's column names."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.

Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.

Müşteri ve tüm ayrıntılar kurgusaldır.

Bu hizmet hakkında

Sayfa başına bir dosya olarak gelen taranmış sözleşmeler, müşteri müşteri gönderilmesi gereken 300 sayfalık bir hesap dökümü, tek bir PDF olarak gönderilmesi gereken bir belge seti: bu Python betiği bu tür PDF işlerini bir düzenleyicide tıklayıp durmak yerine saniyeler içinde yapar. Dosyaları belirlediğiniz sırayla (ada göre, tarihe göre ya da bir listeden) birleştirir, bir PDF'yi tek sayfalara, sabit aralıklara ya da her yer işaretinde başlayan parçalara böler ve Premium pakette bir sayfada belirttiğiniz bir kelime, örneğin Fatura No, geçtiğinde kesebilir. Sayfalar yeniden basılmaz, olduğu gibi kopyalanır; bu yüzden kalitelerini korurlar. İşi ve içinde özel hiçbir şey olmayan bir iki örnek dosya gönderin. Betiği kendi bilgisayarınızda kendiniz çalıştırırsınız. Metin düzenlemez ya da taramaları okumaz.

Neler dahil

  • Neler alırsınızPython betiğini, adım adım talimatlar içeren bir README dosyasını ve Standart paketten itibaren sırayı, aralıkları ve adları içeren bir ayar dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
  • Sizin sıranızla birleştirmeAda, tarihe ya da verdiğiniz bir listeye göre
  • Sizin yönteminizle bölmeTek sayfalar, aralıklar ya da yer işaretleri
  • Kalite kaybı yokSayfalar olduğu gibi kopyalanır
  • Anlaşılır dosya adlarıNumaralar, sayfa aralıkları ya da listenizden adlar
  • Okunabilir kodYorumlarla; sonradan kural değiştirmek kolay

Nasıl çalışır

  1. 1
    Görevİşi anlatır ve bir iki örnek PDF gönderirsiniz
  2. 2
    KodBetiği ve çalıştırma kılavuzunu yazarız
  3. 3
    DeneyinDosyalarınızın kopyalarında çalıştırır ve sayfaları kontrol edersiniz
  4. 4
    DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz

Sizden neler gerekiyor

Ne yapılması gerektiği: hangi dosyaların hangi sırayla birleştirileceği ya da nasıl bölüneceği (her sayfa, her N sayfa, aralıklara, yer işaretlerine ya da sayfadaki bir kelimeye göre) ve sonuçların nasıl adlandırılacağı. İçinde özel hiçbir şey olmayan bir iki örnek PDF ya da uydurma içerikle aynı düzen; bölme bir kelimeye bağlıysa o kelimenin göründüğü bir sayfa. Yaklaşık kaç dosya ve sayfa olduğu ve sisteminiz: Windows, macOS ya da Linux.

Size soracaklarımız:

  • Birleştirme mi, bölme mi, yoksa ikisi art arda mı?
  • Her parçanın nerede başladığını nasıl anlıyorsunuz?
  • Dosyalar nasıl adlandırılmalı?
  • Nerede çalışacak?

Paketleri karşılaştırın

PaketlerTemelBirleştirme ya da bölme$16StandartAyarlı PDF$33PremiumPDF aracı$67
Teslim süresi1 gün2 gün3 gün
Revizyonlar123
Koden fazla 150 satıren fazla 400 satıren fazla 1.000 satır
Kod dosyası1en fazla 3en fazla 8
Ayar dosyasıHayırEvetEvet
Anlaşılır hata mesajları ve logHayırEvetEvet
Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzuHayırHayırEvet
Kurulum ve çalıştırma kılavuzu (README)EvetEvetEvet
DilPythonPythonPython
Sipariş ver TemelSipariş ver StandartSipariş ver Premium

Ödeme koruması

Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.

  • Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
  • Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
  • Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
  • Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
  • 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
  • Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Nasıl çalışır →

Sorular ve yanıtlar

Taranmış PDF'leri bir kelimeye göre bölebilir mi?

Hayır: bir tarama, bir sayfanın resmidir ve içinde aranacak metin yoktur. Taramaları sayfa numaralarına ya da aralıklara göre bölmek sorunsuz çalışır. Kelimeye göre bölmek için gerçek metin içeren bir PDF gerekir, örneğin bir programdan kaydedilmiş olan.

Parola korumalı PDF'ler ne olacak?

Parolayı biliyorsanız README, çalıştırırken onu betiğe nasıl vereceğinizi gösterir; parola asla koda yazılmaz. Parolasını bilmediğiniz dosyalar atlanır ve log kaydında listelenir.

PDF'leri sıkıştırabilir de mi?

Dosya yapısının hafif sıkıştırılması, evet. Taramaları çok daha küçük yapmak içlerindeki görselleri yeniden sıkıştırmak demektir; bu da kalitelerini değiştirir. Brifte sorun, paketinize uyup uymadığını bildirelim.

Belgelerimi siz mi işleyeceksiniz?

Hayır. Betiği bilgisayarınızda siz çalıştırırsınız, böylece sözleşmeler ve hesap dökümleri bilgisayarınızdan hiç çıkmaz. Bize yalnızca özel hiçbir şey içermeyen örnekler gönderin.

Yanıtınızı bulamadınız mı?

Paketler