Metin ve grafik içeren PDF başlıklarını özelleştirmek, bulut tabanlı raporlama çözümleri için yaygın bir gereksinimdir. Aspose.PDF Cloud SDK for .NET size C# içinde basit API çağrılarıyla PDF başlığına metin ve resim eklemenizi programlı olarak sağlar. Bu öğreticide, tam bir kod örneği, bir cURL alternatifi ve adım adım açıklamaları göreceksiniz. Sonunda, PDF’lerinizin tüm sayfalarına bulut ortamında markalı başlıklar ekleyebileceksiniz.

C#’ta PDF Başlığına Metin ve Görüntü Ekleme - Tam Kod Örneği

Aşağıdaki örnek, C# kullanarak Aspose.PDF Cloud SDK for .NET ile PDF başlığına metin ve resim eklemeyi göstermektedir.

using System;
using System.Collections.Generic;
using System.IO;
using Aspose.Pdf.Cloud.Sdk.Api;
using Aspose.Pdf.Cloud.Sdk.Client;
using Aspose.Pdf.Cloud.Sdk.Model;

class Program
{
    static void Main()
    {
        // -------------------------------------------------
        // Configuration – replace with your actual App SID and API Key
        // -------------------------------------------------
        var config = new Configuration
        {
            ApiKey = new Dictionary<string, string> { { "api_key", "YOUR_API_KEY" } },
            Host = "https://api.aspose.cloud"
        };
        var pdfApi = new PdfApi(config);

// -------------------------------------------------
        // File names (local)
        // -------------------------------------------------
        string localPdfPath = "input.pdf";
        string localImagePath = "headerImage.png";
        string outputPdfPath = "output.pdf";

// -------------------------------------------------
        // Upload PDF to Aspose Cloud storage
        // -------------------------------------------------
        using (var pdfStream = File.OpenRead(localPdfPath))
        {
            pdfApi.UploadFile(Path.GetFileName(localPdfPath), pdfStream);
        }

// -------------------------------------------------
        // Upload image to Aspose Cloud storage
        // -------------------------------------------------
        using (var imgStream = File.OpenRead(localImagePath))
        {
            pdfApi.UploadFile(Path.GetFileName(localImagePath), imgStream);
        }

// -------------------------------------------------
        // Build HeaderFooter object with text and image
        // -------------------------------------------------
        var headerFooter = new HeaderFooter
        {
            // Text part
            TextState = new TextState
            {
                Value = "Confidential Document",
                FontSize = 14,
                Font = "Helvetica",
                FontStyle = FontStyles.Bold,
                ForegroundColor = new Color { A = 255, R = 255, G = 0, B = 0 } // Red color
            },
            // Image part
            Image = new Image
            {
                File = Path.GetFileName(localImagePath), // reference uploaded image
                Width = 100,
                Height = 30,
                HorizontalAlignment = HorizontalAlignment.Center,
                Margin = new MarginInfo { Top = 5, Bottom = 5, Left = 5, Right = 5 }
            },
            // Header margin (optional)
            Margin = new MarginInfo { Top = 10, Bottom = 0, Left = 0, Right = 0 }
        };

// -------------------------------------------------
        // Apply header to all pages of the PDF
        // -------------------------------------------------
        pdfApi.PutHeaderFooter(Path.GetFileName(localPdfPath), headerFooter);

// -------------------------------------------------
        // Download the updated PDF
        // -------------------------------------------------
        using (var resultStream = pdfApi.GetDocument(Path.GetFileName(localPdfPath)))
        using (var fileStream = File.Create(outputPdfPath))
        {
            resultStream.CopyTo(fileStream);
        }

// -------------------------------------------------
        // Optional: clean up uploaded files from cloud storage
        // -------------------------------------------------
        pdfApi.DeleteFile(Path.GetFileName(localPdfPath));
        pdfApi.DeleteFile(Path.GetFileName(localImagePath));
    }
}

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde 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.

cURL ile PDF Header Cloud’a Metin ve Görüntü Ekle

Aynı işlemi REST API kullanarak gerçekleştirebilirsiniz. Aşağıda temel cURL komutları yer almaktadır.

# 1. Obtain an access token (replace YOUR_CLIENT_ID and YOUR_CLIENT_SECRET)
curl -X POST "https://api.aspose.cloud/connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
# 2. Upload the source PDF
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/storage/file/input.pdf" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/pdf" \
  --data-binary "@input.pdf"
# 3. Upload the header image (PNG)
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/storage/file/headerImage.png" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: image/png" \
  --data-binary "@headerImage.png"
# 4. Apply header with text and image
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/input.pdf/headerfooter" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "TextState": {
            "Value": "Confidential Document",
            "FontSize": 14,
            "Font": "Helvetica",
            "FontStyle": "Bold",
            "ForegroundColor": { "A":255,"R":255,"G":0,"B":0 }
        },
        "Image": {
            "File": "headerImage.png",
            "Width": 100,
            "Height": 30,
            "HorizontalAlignment": "Center",
            "Margin": { "Top":5,"Bottom":5,"Left":5,"Right":5 }
        },
        "Margin": { "Top":10,"Bottom":0,"Left":0,"Right":0 }
      }'
# 5. Download the updated PDF
curl -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -o output.pdf
<!--CODE_SNIPPET_END]-->

Her uç nokta hakkında daha fazla ayrıntı için resmi API belgelerine bakın.

## PDF Başlığına Metin Ekleme İşlemini C#'ta Açıklama

Kodun C#'ta PDF başlığına metin ve resim eklemesini anlamak, bunu diğer senaryolara uyarlamanıza yardımcı olur. İşte kısa bir yürütme:

1. **Yapılandırma Ayarı** – `Configuration` nesnesi API anahtarınızı ve ana bilgisayar URL'nizi saklar.  
   <!--CODE_SNIPPET_START-->
   ```csharp
   var [config](https://docs.fileformat.com/programming/config/) = new Configuration
   {
       ApiKey = new Dictionary<string, string> { { "api_key", "YOUR_API_KEY" } },
       Host = "https://api.aspose.cloud"
   };
  1. Dosyaları YüklemeUploadFile, yerel PDF ve resmi Aspose Cloud depolamasına gönderir.

    pdfApi.UploadFile(Path.GetFileName(localPdfPath), pdfStream);
    pdfApi.UploadFile(Path.GetFileName(localImagePath), imgStream);
    
  2. HeaderFooter OluşturmaHeaderFooter modeli, metin için bir TextState ve resim için bir Image nesnesini birleştirir.

    var headerFooter = new HeaderFooter
    {
        TextState = new TextState { Value = "Confidential Document", FontSize = 14, Font = "Helvetica", FontStyle = FontStyles.Bold, ForegroundColor = new Color { A = 255, R = 255, G = 0, B = 0 } },
        Image = new Image { File = Path.GetFileName(localImagePath), Width = 100, Height = 30, HorizontalAlignment = HorizontalAlignment.Center }
    };
    
  3. Başlığı UygulamaPutHeaderFooter, belirtilen PDF’nin her sayfasına başlığı ekler.

    pdfApi.PutHeaderFooter(Path.GetFileName(localPdfPath), headerFooter);
    
  4. İndirme ve TemizlikGetDocument değiştirilmiş PDF’yi alır ve DeleteFile bulut depolamasındaki geçici dosyaları siler.

    var resultStream = pdfApi.GetDocument(Path.GetFileName(localPdfPath));
    pdfApi.DeleteFile(Path.GetFileName(localPdfPath));
    pdfApi.DeleteFile(Path.GetFileName(localImagePath));
    

HeaderFooter sınıfı hakkında daha derin bilgi için API referansına bakın.

Aspose.PDF Cloud SDK for .NET’in Kurulumu ve Yapılandırması

  1. NuGet paketini ekleyin
   dotnet add package Aspose.PDF-Cloud
  1. SDK ikili dosyalarını indirin - En son sürümü resmi indirme sayfasından da edinebilirsiniz: Aspose.PDF Cloud SDK for .NET Download.

  2. Önkoşullar - .NET 6.0 veya üzeri, bir Aspose Cloud hesabı ve geçerli istemci kimlik bilgileri (App SID ve API Anahtarı).

  3. İstemciyi Başlatma - Bulut hizmetine bağlanmak için tam örnekte gösterilen aynı yapılandırma kodunu kullanın.

SDK kurulduğunda ve kimlik bilgileri hazır olduğunda, C#’ta PDF başlığına metin ve resim eklemeye hemen başlayabilirsiniz.

Sonuç

C#’ta PDF başlığına metin ve resim eklemek, Aspose.PDF Cloud SDK for .NET’in gücünden yararlandığınızda oldukça basit hale gelir. Kütüphane, dosya yüklemelerini, başlık oluşturmayı ve belge alımını sadece birkaç API çağrısıyla yönetir, bu da bulut tabanlı PDF işleme hatları için idealdir. API anahtarınızı güvence altına almayı, kullanım limitlerine saygı göstermeyi ve taşmayı önlemek için farklı sayfa boyutlarıyla başlık düzenini test etmeyi unutmayın. Üretim dağıtımları için ticari bir lisansa ihtiyacınız olacak; fiyatlandırma detayları ürün sayfasında mevcuttur ve değerlendirme için geçici lisansı geçici lisans sayfasından alabilirsiniz. Markalı başlıkları bugün entegre etmeye başlayın ve PDF’lerinize profesyonel bir görünüm kazandırın.

SSS

  • Bulut kütüphanesini kullanarak C#’ta PDF başlığına metin ve resim nasıl eklenir?
    HeaderFooter modelini kullanarak TextState ve Image tanımlayın, ardından PutHeaderFooter çağrısını yapın. Bu makaledeki tam kod örneği adımları gösterir.

  • C# kodu yazmadan PDF başlığına metin ve resim ekleyebilir miyim?
    Evet, aynı işlem REST çağrılarıyla yapılabilir. cURL bölümü, dosyaları yükleyen ve başlığı uygulayan hazır bir betik sunar.

  • Başlık için hangi resim formatları desteklenir?
    API, PNG ve JPEG gibi yaygın formatları kabul eder. Görüntü boyutlarını makul tutun (ör. 100 x 30) böylece başlık kenar boşluğuna sığar.

  • Bunu üretimde çalıştırmak için lisansa ihtiyacım var mı?
    Üretim kullanımı için ticari bir lisans gereklidir. Fiyatlandırma bilgileri ürün sayfasında bulunur ve SDK’yı satın almadan önce değerlendirmek için geçici lisans sayfasını kullanabilirsiniz.

Daha Fazla Oku