سفارشی‌سازی سرصفحه‌های PDF با هر دو متن و گرافیک یک نیاز رایج برای راه‌حل‌های گزارش‌گیری مبتنی بر ابر است. Aspose.PDF Cloud SDK for .NET به شما امکان می‌دهد به‌صورت برنامه‌نویسی متن و تصویر را به سرصفحه PDF در C# اضافه کنید با فراخوانی‌های ساده API. در این آموزش، یک مثال کامل کد، یک جایگزین cURL، و توضیحات گام به گام را خواهید دید. در پایان، قادر خواهید بود سرصفحه‌های برند شده را در تمام صفحات PDFهای خود در یک محیط ابری جاسازی کنید.

افزودن متن و تصویر به سرصفحه PDF در C# - مثال کامل کد

مثال زیر نشان می‌دهد که چگونه می‌توان متن و تصویر را به سرصفحه PDF در C# با استفاده از Aspose.PDF Cloud SDK for .NET اضافه کرد.

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));
    }
}

توجه: این مثال کد عملکرد اصلی را نشان می‌دهد. قبل از استفاده از آن در پروژه خود، مطمئن شوید که مسیرهای فایل و مقادیر پیکربندی را به‌گونه‌ای به‌روز کنید که با محیط واقعی شما مطابقت داشته باشد، اطمینان حاصل کنید که تمام وابستگی‌های مورد نیاز به‌درستی نصب شده‌اند و به‌طور کامل در محیط توسعه خود تست کنید. اگر با مشکلی مواجه شدید، لطفاً به مستندات رسمی یا برای دریافت کمک با تیم پشتیبانی تماس بگیرید.

درج متن و تصویر در هدر PDF در ابر با cURL

می‌توانید همان عملیات را با استفاده از REST API انجام دهید. در ادامه دستورات اساسی cURL آورده شده است.

# 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

برای جزئیات بیشتر درباره هر نقطه انتهایی، به [مستندات رسمی API](https://reference.aspose.cloud/pdf/) مراجعه کنید.

## تجزیه و تحلیل افزودن متن به سرصفحه PDF در C#

درک این‌که کد چگونه متن و تصویر را به سرصفحه PDF در C# اضافه می‌کند، به شما کمک می‌کند تا آن را برای سناریوهای دیگر سازگار کنید. در اینجا یک راهنمای مختصر ارائه شده است:

1. **راه‌اندازی پیکربندی** – شیء `Configuration` کلید API و URL میزبان شما را ذخیره می‌کند.  
   <!--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. بارگذاری فایل‌ها – متد UploadFile فایل PDF و تصویر محلی را به ذخیره‌سازی Aspose Cloud ارسال می‌کند.

    pdfApi.UploadFile(Path.GetFileName(localPdfPath), pdfStream);
    pdfApi.UploadFile(Path.GetFileName(localImagePath), imgStream);
    
  2. ایجاد HeaderFooter – مدل HeaderFooter ترکیبی از TextState برای متن و شیء Image برای تصویر است.

    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. اعمال سرصفحه – متد PutHeaderFooter سرصفحه را به هر صفحه از PDF مشخص شده اضافه می‌کند.

    pdfApi.PutHeaderFooter(Path.GetFileName(localPdfPath), headerFooter);
    
  4. بارگیری و پاک‌سازی – متد GetDocument PDF اصلاح‌شده را بازیابی می‌کند و DeleteFile فایل‌های موقت را از ذخیره‌سازی ابری حذف می‌کند.

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

برای بررسی عمیق‌تر کلاس HeaderFooter، به مرجع API مراجعه کنید.

نصب و پیکربندی Aspose.PDF Cloud SDK برای .NET

  1. افزودن بسته NuGet
   dotnet add package Aspose.PDF-Cloud
  1. بارگیری باینری‌های SDK - می‌توانید آخرین نسخه را از صفحه دانلود رسمی دریافت کنید: Aspose.PDF Cloud SDK برای .NET دانلود.

  2. پیش‌نیازها - .NET 6.0 یا بالاتر، یک حساب Aspose Cloud، و اعتبارنامه‌های معتبر مشتری (App SID و API Key).

  3. راه‌اندازی کلاینت - از همان کد پیکربندی که در مثال کامل نشان داده شده است برای اتصال به سرویس ابری استفاده کنید.

با نصب SDK و آماده بودن اعتبارنامه‌ها، می‌توانید فوراً متن و تصویر را به سرصفحه PDF در C# اضافه کنید.

نتیجه‌گیری

افزودن متن و تصویر به سرصفحه PDF در C# زمانی که از قدرت Aspose.PDF Cloud SDK برای .NET استفاده می‌کنید، ساده می‌شود. این کتابخانه بارگذاری فایل‌ها، ساخت سرصفحه و بازیابی سند را تنها با چند فراخوانی API مدیریت می‌کند و برای خطوط پردازش PDF مبتنی بر ابر ایده‌آل است. حتماً کلید API خود را ایمن کنید، محدودیت‌های استفاده را رعایت کنید و طرح سرصفحه را با اندازه‌های مختلف صفحه آزمایش کنید تا از سرریز جلوگیری شود. برای استقرارهای تولیدی به یک لایسنس تجاری نیاز دارید؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید برای ارزیابی یک لایسنس موقت از صفحه لایسنس موقت دریافت کنید. امروز شروع به ادغام سرصفحه‌های برند شده کنید و به PDFهای خود ظاهر حرفه‌ای بدهید.

سؤالات متداول

  • چگونه می‌توانم متن و تصویر را به سرصفحه PDF در C# با استفاده از کتابخانه ابری اضافه کنم؟
    از مدل HeaderFooter برای تعریف TextState و Image استفاده کنید، سپس PutHeaderFooter را فراخوانی کنید. مثال کامل کد در این مقاله گام‌های دقیق را نشان می‌دهد.

  • آیا می‌توانم بدون نوشتن کد C# متن و تصویر را به سرصفحه PDF در ابر اضافه کنم؟
    بله، همان عملیات می‌تواند با فراخوانی‌های REST انجام شود. بخش cURL یک اسکریپت آماده‑به‑استفاده ارائه می‌دهد که فایل‌ها را بارگذاری کرده و سرصفحه را اعمال می‌کند.

  • چه فرمت‌های تصویری برای سرصفحه پشتیبانی می‌شوند؟
    API فرمت‌های رایج مانند PNG و JPEG را می‌پذیرد. ابعاد تصویر را معقول نگه دارید (مثلاً 100 × 30) تا در حاشیه سرصفحه جا بگیرد.

  • آیا برای اجرای این در محیط تولید به لایسنس نیاز دارم؟
    برای استفاده در تولید به یک لایسنس تجاری نیاز است. برای جزئیات قیمت‌گذاری به صفحه محصول مراجعه کنید و برای ارزیابی می‌توانید از صفحه لایسنس موقت استفاده کنید.

مطالب بیشتر