Настройка заголовков 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"
};
-
Загрузка файлов –
UploadFileотправляет локальный PDF и изображение в хранилище Aspose Cloud.pdfApi.UploadFile(Path.GetFileName(localPdfPath), pdfStream); pdfApi.UploadFile(Path.GetFileName(localImagePath), imgStream); -
Создание 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 } }; -
Применение заголовка –
PutHeaderFooterприкрепляет заголовок к каждой странице указанного PDF.pdfApi.PutHeaderFooter(Path.GetFileName(localPdfPath), headerFooter); -
Скачивание и очистка –
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
- Добавьте пакет NuGet
dotnet add package Aspose.PDF-Cloud
-
Скачайте бинарные файлы SDK — Вы также можете получить последнюю версию со страницы официальных загрузок: Aspose.PDF Cloud SDK for .NET Download.
-
Требования — .NET 6.0 или новее, учетная запись Aspose Cloud и действительные клиентские учетные данные (App SID и API‑ключ).
-
Инициализируйте клиент — Используйте тот же код конфигурации, показанный в полном примере, для подключения к облачному сервису.
После установки 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 перед покупкой.