تخصيص رؤوس ملفات 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
<!--CODE_SNIPPET_END]-->
لمزيد من التفاصيل حول كل نقطة نهاية، راجع [توثيق API الرسمي](https://reference.aspose.cloud/pdf/).
## تحليل إضافة نص إلى رأس PDF في C#
فهم طريقة إضافة النص والصورة إلى رأس PDF باستخدام C# يساعدك على تكييفها مع سيناريوهات أخرى. إليك شرحًا مختصرًا:
1. **إعداد التكوين** – كائن `Configuration` يخزن مفتاح API وعنوان المضيف.
<!--CODE_SNIPPET_START-->
```csharp
var [التكوين](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 قبل الشراء.