Налаштування заголовків 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 for .NET Download.

  2. Вимоги — .NET 6.0 або новіший, обліковий запис Aspose Cloud та дійсні клієнтські облікові дані (App SID та API‑ключ).

  3. Ініціалізуйте клієнт — Використайте той самий код конфігурації, показаний у повному прикладі, щоб підключитися до хмарного сервісу.

Після встановлення SDK та підготовки облікових даних ви можете одразу почати додавати текст і зображення до заголовка PDF у C#.

Висновок

Додавання тексту та зображення до заголовка PDF у C# стає простим, коли ви використовуєте потужність Aspose.PDF Cloud SDK for .NET. Бібліотека обробляє завантаження файлів, створення заголовка та отримання документа всього кількома викликами API, що робить її ідеальною для хмарних конвеєрів обробки PDF. Не забудьте захистити ваш API‑ключ, дотримуватись лімітів використання та протестувати розташування заголовка з різними розмірами сторінок, щоб уникнути переповнення. Для виробничих розгортань потрібна комерційна ліцензія; деталі цін доступні на сторінці продукту, а тимчасову ліцензію для оцінки можна отримати на сторінці тимчасової ліцензії. Почніть інтегрувати брендовані заголовки вже сьогодні та надайте вашим PDF професійний вигляд.

Питання та відповіді

  • Як додати текст і зображення до заголовка PDF у C# за допомогою хмарної бібліотеки?
    Використайте модель HeaderFooter для визначення TextState та Image, а потім викличте PutHeaderFooter. Повний приклад коду в цій статті показує точні кроки.

  • Чи можу я вставити текст і зображення до заголовка PDF у хмарі без написання коду C#?
    Так, ту ж операцію можна виконати за допомогою REST‑викликів. Розділ cURL надає готовий скрипт, який завантажує файли та застосовує заголовок.

  • Які формати зображень підтримуються для заголовка?
    API приймає поширені формати, такі як PNG та JPEG. Підтримуйте розміри зображення розумними (наприклад, 100 × 30), щоб вони вміщалися в межах заголовка.

  • Чи потрібна ліцензія для використання в продакшн?
    Для використання в продакшн потрібна комерційна ліцензія. Відвідайте сторінку продукту для ознайомлення з цінами та скористайтеся сторінкою тимчасової ліцензії, щоб оцінити SDK перед покупкою.

Читати далі