<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>python programming on File Format Blog</title>
    <link>https://blog.fileformat.com/tr/tag/python-programming/</link>
    <description>Recent content in python programming on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>tr</language>
    <lastBuildDate>Wed, 29 Jan 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/tr/tag/python-programming/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Python&#39;da PDF Dosyalarıyla Çalışma</title>
      <link>https://blog.fileformat.com/tr/programming/working-with-pdf-files-in-python/</link>
      <pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/tr/programming/working-with-pdf-files-in-python/</guid>
      <description>Python kütüphaneleri ve basit kod örnekleri ile PDF&amp;#39;den metin çıkarma, PDF sayfalarını döndürme, birden fazla PDF&amp;#39;yi birleştirme, PDF&amp;#39;leri bölme ve PDF&amp;#39;lerinize filigran ekleme işlemlerini öğrenin.</description>
      <content:encoded><![CDATA[<p><strong>Son Güncelleme</strong>: 29 Ocak, 2025</p>
<figure class="align-center ">
    <img loading="lazy" src="images/working-with-pdf-files-in-python.png#center"
         alt="Başlık - Python&#39;da PDF Dosyalarıyla Çalışma"/> 
</figure>

<p>Bu makalede, <strong>Python kullanarak PDF dosyalarıyla nasıl çalışabileceğinizi</strong> göstereceğiz. Bunun için <a href="https://pypi.org/project/pypdf/"><strong>pypdf</strong></a> kütüphanesini kullanacağız.</p>
<p><strong>pypdf</strong> kütüphanesini kullanarak Python&rsquo;da aşağıdaki işlemleri nasıl gerçekleştirebileceğinizi göstereceğiz:</p>
<ul>
<li>PDF&rsquo;lerden metin çıkarma</li>
<li>PDF sayfalarını döndürme</li>
<li>Birden fazla PDF&rsquo;yi birleştirme</li>
<li>PDF&rsquo;leri ayrı dosyalara bölme</li>
<li>PDF sayfalarına filigran ekleme</li>
</ul>
<p><em><strong>Not</strong>: Bu makale birçok değerli detayı içeriyor, bu yüzden sizi en çok ilgilendiren bölümlere atlayabilirsiniz! İçerik kolaylıkla gezilecek şekilde düzenlenmiştir, böylece size en ilgili olan konulara hızlıca odaklanabilirsiniz.</em></p>
<figure class="align-center ">
    <img loading="lazy" src="images/pdf-manipulation-with-pypdf.webp#center"
         alt="İllüstrasyon - Python&#39;da PDF Dosyalarıyla Çalışma"/> 
</figure>

<h2 id="örnek-kodlar">Örnek Kodlar</h2>
<p>Bu makalede kullanılan tüm örnek kodları, aşağıdaki bağlantıdan indirebilirsiniz. Kodlar, giriş ve çıkış dosyalarını içermektedir.</p>
<ul>
<li><a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python">Python&rsquo;da PDF Dosyalarıyla Çalışma için Kod Örnekleri ve Giriş Dosyaları</a></li>
</ul>
<h2 id="pypdf-kurulumu">pypdf Kurulumu</h2>
<p>pypdf&rsquo;i yüklemek için komut terminalinizde veya komut isteminde aşağıdaki komutu çalıştırabilirsiniz:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>pip install pypdf
</span></span></code></pre></div><p><strong>Not:</strong> Yukarıdaki komut büyük-küçük harfe duyarlıdır.</p>
<h2 id="1-python-kullanarak-bir-pdf-dosyasından-metin-çıkarma">1. Python Kullanarak Bir PDF Dosyasından Metin Çıkarma</h2>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/e2b43a49dbad9e89745f8f9777817acb.js?file=extract-text-from-pdf-using-pypdf-in-python.py"></script>

<h3 id="kod-açıklaması"><strong>Kod Açıklaması</strong></h3>
<p><strong>1. PDF Okuyucu Nesnesi Oluşturma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>reader <span style="color:#f92672">=</span> PdfReader(pdf_file)
</span></span></code></pre></div><ul>
<li><code>PdfReader(pdf_file)</code> PDF dosyasını bir <strong>okuyucu nesnesine</strong> yükler.</li>
<li>Bu nesne, sayfalara ve içeriklerine erişimi sağlar.</li>
</ul>
<p><strong>2. Sayfalar Üzerinden Döngü</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> page_number, page <span style="color:#f92672">in</span> enumerate(reader<span style="color:#f92672">.</span>pages, start<span style="color:#f92672">=</span><span style="color:#ae81ff">1</span>):
</span></span></code></pre></div><ul>
<li><code>reader.pages</code> PDF&rsquo;deki sayfaların bir listesini döndürür.</li>
<li><code>enumerate(..., start=1)</code> ile <strong>1&rsquo;den başlayan bir sayfa numarası</strong> atanır.</li>
</ul>
<p><strong>3. Çıkarılan Metni Yazdırma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>    print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Sayfa </span><span style="color:#e6db74">{</span>page_number<span style="color:#e6db74">}</span><span style="color:#e6db74">:&#34;</span>)
</span></span><span style="display:flex;"><span>    print(page<span style="color:#f92672">.</span>extract_text())
</span></span><span style="display:flex;"><span>    print(<span style="color:#e6db74">&#34;-&#34;</span> <span style="color:#f92672">*</span> <span style="color:#ae81ff">50</span>)  <span style="color:#75715e"># Okunabilirlik için ayırıcı</span>
</span></span></code></pre></div><ul>
<li><code>page.extract_text()</code> güncel sayfadan metin içeriğini çıkarır.</li>
<li>Betik çıkarılan metni ve <strong>sayfa numarasını</strong> yazdırır.</li>
<li><code>&quot;-&quot; * 50</code> daha iyi okunabilirlik için bir ayırıcı çizgi (<code>--------------------------------------------------</code>) basar.</li>
</ul>
<h3 id="koddaki-kullanılan-giriş-pdf-dosyası">Koddaki Kullanılan Giriş PDF Dosyası</h3>
<ul>
<li><strong>Giriş Dosyası:</strong> <a href="https://github.com/fileformat-blog-gists/code/blob/main/working-with-pdf-files-in-python/pdf-to-extract-text/">İndirme Bağlantısı</a></li>
</ul>
<h3 id="kodun-çıktısı">Kodun Çıktısı</h3>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/ab6976aa3a0fc2999093f5f9320a9e20.js?file=Output%20-%20extract-text-from-pdf-using-pypdf-in-python.txt"></script>

<h2 id="2-python-kullanarak-pdf-sayfalarını-döndürme">2. Python Kullanarak PDF Sayfalarını Döndürme</h2>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/760d480cfede4178296c353d60662e1a.js?file=rotate-pdf-page-using-pypdf-in-python.py"></script>

<h3 id="kod-açıklaması-1">Kod Açıklaması</h3>
<p>Kod temelde <strong>ilk sayfayı</strong> <strong>90° saat yönünde</strong> döndürür ve değiştirilmiş PDF&rsquo;yi diğer sayfaları etkilemeden kaydeder.</p>
<p><strong>1. İhtiyaç Duyulan Sınıfları İçe Aktarma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">from</span> pypdf <span style="color:#f92672">import</span> PdfReader, PdfWriter
</span></span></code></pre></div><ul>
<li><code>PdfReader</code>: Giriş PDF dosyasını okur.</li>
<li><code>PdfWriter</code>: Değişikliklerle yeni bir PDF oluşturur.</li>
</ul>
<p><strong>2. Giriş ve Çıkış Dosya Yollarını Tanımlama</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>input_pdf <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pdf-to-rotate/input.pdf&#34;</span>
</span></span><span style="display:flex;"><span>output_pdf <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pdf-to-rotate/rotated_output.pdf&#34;</span>
</span></span></code></pre></div><ul>
<li>Betik <code>input.pdf</code> dosyasından okur ve değiştirilmiş dosyayı <code>rotated_output.pdf</code> olarak kaydeder.</li>
</ul>
<p><strong>3. PDF&rsquo;yi Okuma ve Bir Yazıcı Nesnesi Oluşturma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>reader <span style="color:#f92672">=</span> PdfReader(input_pdf)
</span></span><span style="display:flex;"><span>writer <span style="color:#f92672">=</span> PdfWriter()
</span></span></code></pre></div><ul>
<li><code>reader</code> mevcut PDF&rsquo;yi yükler.</li>
<li><code>writer</code> değiştirilmiş sayfaları depolamak için kullanılır.</li>
</ul>
<p><strong>4. İlk Sayfayı 90 Derece Döndürme</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>page <span style="color:#f92672">=</span> reader<span style="color:#f92672">.</span>pages[<span style="color:#ae81ff">0</span>]
</span></span><span style="display:flex;"><span>page<span style="color:#f92672">.</span>rotate(<span style="color:#ae81ff">90</span>)  <span style="color:#75715e"># 90 derece saat yönünde döndür</span>
</span></span><span style="display:flex;"><span>writer<span style="color:#f92672">.</span>add_page(page)
</span></span></code></pre></div><ul>
<li><strong>1. sayfayı</strong> çıkarır, <strong>90 derece</strong> döndürür ve yeni PDF&rsquo;ye ekler.</li>
</ul>
<p><strong>5. Değişiklik Yapmadan Kalan Sayfaları Ekleme</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> i <span style="color:#f92672">in</span> range(<span style="color:#ae81ff">1</span>, len(reader<span style="color:#f92672">.</span>pages)):
</span></span><span style="display:flex;"><span>    writer<span style="color:#f92672">.</span>add_page(reader<span style="color:#f92672">.</span>pages[i])
</span></span></code></pre></div><ul>
<li>Kalan sayfalar arasında gezinir ve bunları olduğu gibi ekler.</li>
</ul>
<p><strong>6. Yeni PDF&rsquo;yi Kaydetme</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">with</span> open(output_pdf, <span style="color:#e6db74">&#34;wb&#34;</span>) <span style="color:#66d9ef">as</span> file:
</span></span><span style="display:flex;"><span>    writer<span style="color:#f92672">.</span>write(file)
</span></span></code></pre></div><ul>
<li><code>rotated_output.pdf</code> dosyasını yazma-ikili modda açar ve yeni PDF&rsquo;yi kaydeder.</li>
</ul>
<p><strong>7. Onay Yazdırma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Döndürülmüş sayfa </span><span style="color:#e6db74">{</span>output_pdf<span style="color:#e6db74">}</span><span style="color:#e6db74"> olarak kaydedildi&#34;</span>)
</span></span></code></pre></div><ul>
<li>Başarı mesajı görüntüler.</li>
</ul>
<h3 id="koddaki-kullanılan-giriş-pdfsi-ve-döndürülen-çıktısı">Koddaki Kullanılan Giriş PDF&rsquo;si ve Döndürülen Çıktısı</h3>
<ul>
<li><strong>Giriş PDF Dosyası:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdf-to-rotate/">İndirme Bağlantısı</a></li>
<li><strong>Döndürülen Çıktı PDF Dosyası:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdf-to-rotate/rotated_output.pdf">İndirme Bağlantısı</a></li>
</ul>
<p><strong>Ekran Görüntüsü</strong>
<img loading="lazy" src="https://raw.githubusercontent.com/fileformat-blog-gists/content/main/working-with-pdf-files-in-python/rotated-pdf.png" alt="Dönüştürülen Sayfanın Python Kullanarak PDF&amp;rsquo;de Ekran Görüntüsü"  />
</p>
<h2 id="3-python-kullanarak-pdf-dosyalarını-birleştirme">3. Python Kullanarak PDF Dosyalarını Birleştirme</h2>
<p>Bu Python betiği, bir dizindeki <strong>birden fazla PDF dosyasını</strong> <strong>PyPDF</strong> kütüphanesini kullanarak tek bir PDF&rsquo;e nasıl birleştirebileceğinizi gösteriyor.</p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/a1a571783e0f5e699678d1094bf1afa5.js?file=merge_pdf_files_using_pypdf_in_python.py"></script>

<h3 id="kod-açıklaması-2">Kod Açıklaması</h3>
<ul>
<li>Bu betik, belirtilen dizindeki (<code>pdfs-to-merge</code>) tüm PDF dosyalarını otomatik olarak tek bir çıktı dosyasında (<code>merged_output.pdf</code>) birleştirir.</li>
<li>Çıkış dizininin var olup olmadığını kontrol eder ve dosyalar liste sırasına göre eklenir.</li>
<li>Nihai birleştirilmiş dosya <code>output-dir</code> alt dizininde çıktılanır.</li>
</ul>
<p><strong>Kod Anlatımı</strong></p>
<p><strong>1. Kütüphaneleri İçe Aktarma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">import</span> os
</span></span><span style="display:flex;"><span><span style="color:#f92672">from</span> pypdf <span style="color:#f92672">import</span> PdfReader, PdfWriter
</span></span></code></pre></div><ul>
<li><code>os</code>: Dosya sistemini okumak ve dosya yollarını yönetmek gibi işlemler için kullanılır.</li>
<li><code>PdfReader</code>: Bir PDF dosyasının içeriğini okur.</li>
<li><code>PdfWriter</code>: Yeni bir PDF dosyası oluşturur ve yazar.</li>
</ul>
<p><strong>2. Dizin ve Çıktı Dosyasını Tanımlama</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>directory <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pdfs-to-merge&#34;</span>
</span></span><span style="display:flex;"><span>output_file <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;output-dir/merged_output.pdf&#34;</span>
</span></span></code></pre></div><ul>
<li><code>directory</code>: PDF dosyalarının depolandığı klasörü belirtir.</li>
<li><code>output_file</code>: Birleştirilmiş PDF&rsquo;nin çıktı yolu ve adını tanımlar.</li>
</ul>
<p><strong>3. Çıkış Dizinini Var Olmadığında Oluşturma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>os<span style="color:#f92672">.</span>makedirs(os<span style="color:#f92672">.</span>path<span style="color:#f92672">.</span>join(directory, <span style="color:#e6db74">&#34;output-dir&#34;</span>), exist_ok<span style="color:#f92672">=</span><span style="color:#66d9ef">True</span>)
</span></span></code></pre></div><ul>
<li>Bu, <strong>çıkış dizininin</strong> varlığını sağlar; yoksa oluşturur.</li>
</ul>
<p><strong>4. Bir PdfWriter Nesnesi Oluşturma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>writer <span style="color:#f92672">=</span> PdfWriter()
</span></span></code></pre></div><ul>
<li><code>writer</code>, tüm sayfaları toplamak ve birleştirmek için kullanılır.</li>
</ul>
<p><strong>5. Dizindeki Tüm PDF Dosyalarını Yinelemek</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> file_name <span style="color:#f92672">in</span> sorted(os<span style="color:#f92672">.</span>listdir(directory)):
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> file_name<span style="color:#f92672">.</span>endswith(<span style="color:#e6db74">&#34;.pdf&#34;</span>):
</span></span><span style="display:flex;"><span>        file_path <span style="color:#f92672">=</span> os<span style="color:#f92672">.</span>path<span style="color:#f92672">.</span>join(directory, file_name)
</span></span><span style="display:flex;"><span>        print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Ekleniyor: </span><span style="color:#e6db74">{</span>file_name<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><ul>
<li>Bu döngü, belirtilen dizindeki tüm dosyalar arasında dolaşır ve <code>.pdf</code> uzantılı dosyaları kontrol eder. İşlemi alfabetik sırayla gerçekleştirir <code>sorted()</code> kullanarak.</li>
</ul>
<p><strong>6. Her Bir PDF&rsquo;yi Okuma ve Sayfaları Yazıcıya Eklemek</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>reader <span style="color:#f92672">=</span> PdfReader(file_path)
</span></span><span style="display:flex;"><span>writer<span style="color:#f92672">.</span>append(reader)
</span></span></code></pre></div><ul>
<li>Her PDF için, <code>PdfReader</code> dosyayı okur ve ardından o PDF&rsquo;deki tüm sayfalar <code>writer</code>a eklenir.</li>
</ul>
<p><strong>7. Birleştirilmiş PDF&rsquo;yi Bir Çıkış Dosyasına Yazma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>output_path <span style="color:#f92672">=</span> os<span style="color:#f92672">.</span>path<span style="color:#f92672">.</span>join(directory, output_file)
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">with</span> open(output_path, <span style="color:#e6db74">&#34;wb&#34;</span>) <span style="color:#66d9ef">as</span> output_pdf:
</span></span><span style="display:flex;"><span>    writer<span style="color:#f92672">.</span>write(output_pdf)
</span></span></code></pre></div><ul>
<li>Tüm sayfalar toplandıktan sonra, <code>writer.write()</code> birleştirilmiş PDF&rsquo;yi belirtilen çıkış yoluna yazar.</li>
</ul>
<p><strong>8. Onay Yazdırma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Birleştirilmiş PDF şu adrese kaydedildi: </span><span style="color:#e6db74">{</span>output_path<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><ul>
<li>Kaydedilen birleştirilmiş PDF&rsquo;nin yeri hakkında bir onay mesajı yazdırır.</li>
</ul>
<h3 id="koddaki-kullanılan-giriş-pdf-dosyaları-ve-birleştirilen-çıktı-pdf">Koddaki Kullanılan Giriş PDF Dosyaları ve Birleştirilen Çıktı PDF</h3>
<ul>
<li><strong>Giriş PDF Dosyaları:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdfs-to-merge">İndirme Bağlantısı</a></li>
<li><strong>Birleştirilen Çıktı PDF:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdfs-to-merge/output-dir">İndirme Bağlantısı</a></li>
</ul>
<h2 id="4-python-kullanarak-bir-pdfyi-bölme">4. Python Kullanarak Bir PDF&rsquo;yi Bölme</h2>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/0dee64422ac0dcf44cf027d90567bbf8.js?file=split-pdf-using-pypdf-in-python.py"></script>

<h3 id="kod-açıklaması-3">Kod Açıklaması</h3>
<p>Yukarıdaki Python betiği, bir PDF&rsquo;yi sayfalara ayırarak <strong>PyPDF</strong> kütüphanesi kullanarak her bir sayfayı ayrı ayrı PDF dosyası haline getirir. İlk olarak çıktı dizininin varlığını kontrol eder, ardından giriş PDF dosyasını okur. Betik, her sayfayı döngüye alır, yeni bir <strong>PdfWriter</strong> nesnesi oluşturur ve her sayfayı ayrı bir PDF dosyası olarak kaydeder. Çıkış dosyaları sıralı olarak adlandırılır (örneğin, <strong>page_1.pdf, page_2.pdf</strong>) ve <strong><code>output-dir</code></strong> klasörüne kaydedilir. Son olarak, her oluşturulan dosya için bir onay mesajı yazdırır ve işlem tamamlandığında bilgi verir.</p>
<h3 id="koddaki-kullanılan-giriş-pdf-ve-bölünmüş-çıktı-dosyaları">Koddaki Kullanılan Giriş PDF ve Bölünmüş Çıktı Dosyaları</h3>
<ul>
<li><strong>Giriş PDF Dosyası:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdf-to-split">İndirme Bağlantısı</a></li>
<li><strong>Bölünmüş Çıkış Dosyaları:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdf-to-split/output-dir">İndirme Bağlantısı</a></li>
</ul>
<h2 id="5-python-kullanarak-pdfye-filigran-ekleme">5. Python Kullanarak PDF&rsquo;ye Filigran Ekleme</h2>
<p>PyPDF kütüphanesini kullanarak bir PDF dosyasına filigran ekleyebilirsiniz. Bunun için, var olan PDF&rsquo;ye bir filigran PDF&rsquo;si bindirilir. Filigran PDF&rsquo;sinin yalnızca bir sayfası olduğundan emin olun, böylece ana PDF&rsquo;nin her sayfasına doğru bir şekilde uygulanır.</p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/af057943580e2fcde6a635df34d7e39a.js?file=watermark-pdf-using-pypdf-in-python.py"></script>

<h3 id="kod-açıklaması-4">Kod Açıklaması</h3>
<p>Yukarıdaki Python betiği, bir giriş PDF&rsquo;sini okur, tek sayfalık bir filigran PDF&rsquo;si çıkarır, filigranı giriş PDF&rsquo;sinin her sayfasına bindirir ve nihai filigranlanmış PDF&rsquo;yi kaydeder.</p>
<p><strong>Kod Anlatımı</strong></p>
<p>Her bölümün kısa bir açıklaması</p>
<p><strong>1. İhtiyaç Duyulan Sınıfları İçe Aktarma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">from</span> pypdf <span style="color:#f92672">import</span> PdfReader, PdfWriter
</span></span></code></pre></div><ul>
<li><strong><code>PdfReader</code></strong> mevcut PDF&rsquo;leri okumak için kullanılır.</li>
<li><strong><code>PdfWriter</code></strong> yeni bir PDF oluşturmak ve yazmak için kullanılır.</li>
</ul>
<p><strong>2. Dosya Yollarını Tanımlama</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>input_pdf <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pdf-to-watermark/input.pdf&#34;</span>
</span></span><span style="display:flex;"><span>watermark_pdf <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pdf-to-watermark/watermark.pdf&#34;</span>
</span></span><span style="display:flex;"><span>output_pdf <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;pdf-to-watermark/output_with_watermark.pdf&#34;</span>
</span></span></code></pre></div><ul>
<li><code>input_pdf</code>: Filigran eklenecek olan orijinal PDF.</li>
<li><code>watermark_pdf</code>: Filigran olarak hizmet veren ayrı <strong>tek sayfalık</strong> PDF.</li>
<li><code>output_pdf</code>: Filigranlanmış sayfaları içerecek çıkış dosyası.</li>
</ul>
<p><strong>3. PDF&rsquo;leri Okuma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>reader <span style="color:#f92672">=</span> PdfReader(input_pdf)
</span></span><span style="display:flex;"><span>watermark <span style="color:#f92672">=</span> PdfReader(watermark_pdf)
</span></span></code></pre></div><ul>
<li><code>reader</code>: Giriş PDF&rsquo;sini okur.</li>
<li><code>watermark</code>: Filigran PDF&rsquo;sini okur.</li>
</ul>
<p><strong>4. Bir Yazıcı Nesnesi Oluşturma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>writer <span style="color:#f92672">=</span> PdfWriter()
</span></span></code></pre></div><ul>
<li>Bu, filigranlanmış nihai PDF&rsquo;yi oluşturmak için kullanılacak.</li>
</ul>
<p><strong>5. Filigran Sayfasını Çıkarma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>watermark_page <span style="color:#f92672">=</span> watermark<span style="color:#f92672">.</span>pages[<span style="color:#ae81ff">0</span>]
</span></span></code></pre></div><ul>
<li>Filigran PDF&rsquo;sinin yalnızca <strong>bir sayfa</strong> olduğununu varsayar, bu tüm sayfalara bindirilir.</li>
</ul>
<p><strong>6. Giriş PDF Sayfaları Üzerinden Döngü ve Filigran ile Birleştirme</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">for</span> page <span style="color:#f92672">in</span> reader<span style="color:#f92672">.</span>pages:
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Filigranı mevcut sayfa ile birleştirme</span>
</span></span><span style="display:flex;"><span>    page<span style="color:#f92672">.</span>merge_page(watermark_page)
</span></span><span style="display:flex;"><span>    
</span></span><span style="display:flex;"><span>    <span style="color:#75715e"># Birleştirilmiş sayfayı yazıcıya ekleme</span>
</span></span><span style="display:flex;"><span>    writer<span style="color:#f92672">.</span>add_page(page)
</span></span></code></pre></div><ul>
<li><code>input_pdf</code> her sayfa üzerinde iterasyon yapar.</li>
<li><strong><code>merge_page(watermark_page)</code></strong> filigranı mevcut sayfanın üzerine bindirir.</li>
<li>Değiştirilen sayfayı <code>writer</code>a ekler.</li>
</ul>
<p><strong>7. Filigranlı PDF&rsquo;yi Kaydetme</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">with</span> open(output_pdf, <span style="color:#e6db74">&#34;wb&#34;</span>) <span style="color:#66d9ef">as</span> output_file:
</span></span><span style="display:flex;"><span>    writer<span style="color:#f92672">.</span>write(output_file)
</span></span></code></pre></div><ul>
<li>Değiştirilen sayfaları yeni bir PDF dosyasına yazar.</li>
</ul>
<p><strong>8. Onay Yazdırma</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span>print(<span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;Filigranlanmış PDF şu adrese kaydedildi: </span><span style="color:#e6db74">{</span>output_pdf<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>)
</span></span></code></pre></div><ul>
<li>Onay için çıkış dosyası yolunu yazdırır.</li>
</ul>
<h3 id="giriş-pdf-filigran-pdf-ve-çıkış-filigranlı-pdf">Giriş PDF, Filigran PDF ve Çıkış Filigranlı PDF</h3>
<ul>
<li><strong>Giriş PDF Dosyası:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdf-to-watermark">İndirme Bağlantısı</a></li>
<li><strong>Filigran PDF Dosyası:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdf-to-watermark">İndirme Bağlantısı</a></li>
<li><strong>Çıkış Filigranlı PDF Dosyası:</strong> <a href="https://github.com/fileformat-blog-gists/code/tree/main/working-with-pdf-files-in-python/pdf-to-watermark">İndirme Bağlantısı</a></li>
</ul>
<p><strong>Ekran Görüntüsü</strong>
<img loading="lazy" src="https://raw.githubusercontent.com/fileformat-blog-gists/content/main/working-with-pdf-files-in-python/watermark-pdf.png" alt="Python Kullanarak Filigran Eklenmiş PDF&amp;rsquo;nin Ekran Görüntüsü"  />
</p>
<h2 id="sonuç">Sonuç</h2>
<p>Bu kılavuzda, Python&rsquo;da metin çıkarma, sayfaları döndürme, birleştirme, bölme ve filigran ekleme gibi temel PDF işlemlerini inceledik. Bu becerilerle, kendi PDF yöneticinizi oluşturabilir ve çeşitli PDF görevlerini verimli bir şekilde otomatikleştirebilirsiniz.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
