إنشاء مستندات غامرة تسمح للمستخدمين بالدوران والتكبير واستكشاف نماذج ثلاثية الأبعاد مباشرة داخل PDF هو طريقة قوية لتعزيز كتالوجات المنتجات، والتقارير الهندسية، وأدلة التدريب. Aspose.Words Cloud SDK for .NET توفر مكتبة سحابية تجعل من السهل تضمين وحفظ محتوى 3D عند تحويل ملفات DOCX إلى PDF. في هذا الدليل ستتعلم كيفية إنشاء PDF ثلاثي الأبعاد تفاعلي باستخدام C#، وستطلع على عينة شفرة كاملة، وتستكشف مكالمات cURL REST المكافئة، وتفهم اعتبارات النشر لتطبيقات العالم الحقيقي.
متطلبات سيناريو إنشاء PDF ثلاثي الأبعاد
المطورون الذين يبنون بوابات هندسية أو كتيبات منتجات تفاعلية غالبًا ما يحتاجون إلى تقديم ملفات PDF تحتوي على نماذج ثلاثية الأبعاد مدمجة. المتطلبات النموذجية هي:
- يجب أن يكون المستند المصدر ملف DOCX يتضمن بالفعل نموذجًا ثلاثي الأبعاد بصيغة U3D أو PRC .
- يجب أن يحتفظ ملف PDF الناتج ببيانات الـ 3D بحيث يمكن للمشاهدين مثل Adobe Acrobat عرضها بشكل تفاعلي .
- يجب أن تكون عملية التحويل مؤتمتة، تُنفّذ على خادم، وتعمل مع دفعات كبيرة دون تدخل يدوي .
لا يمكن برمجة أدوات سطح المكتب التقليدية بشكل موثوق في بيئة سحابة، وغالبًا ما تقوم بإزالة تدفقات 3D أثناء التحويل. لذلك، فإن الحل البرمجي الذي يحافظ على نموذج 3D مع توفير توافق PDF/A ضروري.
النهج: الاستفادة من Aspose.Words Cloud لإنشاء PDF ثلاثي الأبعاد
يقدم Aspose.Words Cloud SDK for .NET مجموعة من العمليات المستندة إلى REST والتي تعمل على خوادم Aspose الآمنة. تشمل القدرات الرئيسية التي تعالج السيناريو ما يلي:
- تحميل مباشر لملفات DOCX إلى Aspose Cloud storage.
PdfSaveOptionsDataالتي تتيح لك التحكم في توافق PDF، وتحديث الحقول، والأهم من ذلك، الحفاظ على المحتوى ثلاثي الأبعاد المدمج.- طرق التحويل غير المتزامنة التي تُعيد تدفقًا، مما يسمح لك بكتابة ملف الإخراج مباشرةً إلى القرص.
معًا، تمكّن هذه الميزات من إنشاء سير عمل نظيف من 3D إلى PDF يمكن دمجه في خطوط أنابيب CI، وخدمات الويب، أو وظائف الخلفية. تتوفر معلومات مفصلة حول API في الوثائق الرسمية ومرجع API.
إنشاء PDF ثلاثي الأبعاد تفاعلي في C#: التنفيذ
فيما يلي شرح خطوة بخطوة للتنفيذ. يتضمن كل خطوة مقتطفًا قصيرًا من الشيفرة مأخوذًا مباشرةً من المثال الكامل.
تثبيت Aspose.Words Cloud SDK لـ .NET
أولاً، أضف حزمة NuGet إلى مشروعك.
dotnet add package Aspose.Words-Cloud
يمكنك أيضًا تنزيل الملفات الثنائية من صفحة التنزيل.
تكوين عميل WordsApi
إنشاء كائن Configuration باستخدام بيانات اعتماد العميل الخاصة بك وتثبيت WordsApi.
var config = new Configuration
{
ClientId = "YOUR_CLIENT_ID",
ClientSecret = "YOUR_CLIENT_SECRET"
};
var wordsApi = new WordsApi(config);
الفئة WordsApi موثقة في مرجع API.
تحميل ملف DOCX يحتوي على نموذج ثلاثي الأبعاد مدمج
افتح ملف DOCX المحلي وحمّله إلى تخزين Aspose Cloud، مع استبدال أي ملف موجود بنفس الاسم.
using (var fileStream = File.OpenRead(localDocxPath))
{
var uploadRequest = new UploadFileRequest(fileStream, remoteFileName);
await wordsApi.UploadFileAsync(uploadRequest);
}
تأكد من أن ملف DOCX يتضمن بالفعل نموذج U3D أو PRC؛ هذا هو تنسيق نموذج ثلاثي الأبعاد الذي يحافظ عليه SDK.
تعيين خيارات حفظ PDF للحفاظ على المحتوى ثلاثي الأبعاد
قم بتكوين PdfSaveOptionsData للاحتفاظ بتدفقات 3D واستخدام توافق PDF/A‑1b.
var pdfOptions = new PdfSaveOptionsData
{
UpdateFields = false,
Compliance = PdfCompliance.PdfA1b,
SaveFormat = "pdf"
};
هذه الخيارات هي جزء من 3D to PDF Workflow الذي يضمن بقاء النموذج التفاعلي سليمًا.
تحويل وتنزيل ملف PDF ثلاثي الأبعاد التفاعلي
استدعِ طلب التحويل واكتب التدفق الناتج إلى ملف PDF محلي.
var convertRequest = new ConvertDocumentRequest(
remoteFileName,
format: "pdf",
saveOptions: pdfOptions
);
using (var pdfStream = await wordsApi.ConvertDocumentAsync(convertRequest))
using (var fileWriter = File.Create(outputPdfPath))
{
await pdfStream.CopyToAsync(fileWriter);
}
بعد التحويل، يمكنك اختيارياً حذف الملف المؤقت من التخزين السحابي.
مثال كامل للكود: إنشاء PDF ثلاثي الأبعاد تفاعلي باستخدام C#
يعرض الكود التالي العملية بالكامل من البداية إلى النهاية.
using System;
using System.IO;
using System.Threading.Tasks;
using Aspose.Words.Cloud.Sdk;
using Aspose.Words.Cloud.Sdk.Model;
using Aspose.Words.Cloud.Sdk.Model.Requests;
namespace Generate3DPdfExample
{
class Program
{
static async Task Main(string[] args)
{
// -----------------------------------------------------------------
// 1. Configure Aspose.Words Cloud client (replace with your credentials)
// -----------------------------------------------------------------
var config = new Configuration
{
ClientId = "YOUR_CLIENT_ID",
ClientSecret = "YOUR_CLIENT_SECRET"
};
var wordsApi = new WordsApi(config);
// -----------------------------------------------------------------
// 2. Define file names and paths (generic placeholders)
// -----------------------------------------------------------------
const string localDocxPath = "input.docx"; // DOCX that already contains an embedded 3D model (U3D/PRC)
const string remoteFileName = "input.docx"; // Name used in Aspose Cloud storage
const string outputPdfPath = "output.pdf";
// -----------------------------------------------------------------
// 3. Upload the DOCX to Aspose Cloud storage (overwrites if exists)
// -----------------------------------------------------------------
using (var fileStream = File.OpenRead(localDocxPath))
{
var uploadRequest = new UploadFileRequest(fileStream, remoteFileName);
await wordsApi.UploadFileAsync(uploadRequest);
}
// -----------------------------------------------------------------
// 4. Prepare PDF save options – enable 3D content preservation
// -----------------------------------------------------------------
var pdfOptions = new PdfSaveOptionsData
{
// Preserve the embedded 3D model; the option name may vary depending on API version.
// Setting 'UpdateFields' to false speeds up conversion when fields are not required.
UpdateFields = false,
// Use PDF/A-1b compliance to keep the document portable while still supporting 3D.
Compliance = PdfCompliance.PdfA1b,
// Ensure the output is a single PDF file.
SaveFormat = "pdf"
};
// -----------------------------------------------------------------
// 5. Convert the uploaded DOCX to PDF with the defined options
// -----------------------------------------------------------------
var convertRequest = new ConvertDocumentRequest(
remoteFileName,
format: "pdf",
saveOptions: pdfOptions
);
using (var pdfStream = await wordsApi.ConvertDocumentAsync(convertRequest))
using (var fileWriter = File.Create(outputPdfPath))
{
await pdfStream.CopyToAsync(fileWriter);
}
// -----------------------------------------------------------------
// 6. Clean up remote file (optional)
// -----------------------------------------------------------------
var deleteRequest = new DeleteFileRequest(remoteFileName);
await wordsApi.DeleteFileAsync(deleteRequest);
Console.WriteLine($"3D PDF generated successfully at '{Path.GetFullPath(outputPdfPath)}'.");
}
}
}
ملاحظة: يوضح مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث مسارات الملفات (
input.docx,output.pdf, إلخ) لتطابق المواقع الفعلية للملفات، وتحقق من أن جميع الاعتمادات المطلوبة مثبتة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشاكل، يرجى الرجوع إلى الوثائق الرسمية أو التواصل مع فريق الدعم للحصول على المساعدة.
إجراء تحويل PDF ثلاثي الأبعاد باستخدام cURL و REST API
يمكن تنفيذ نفس العملية عبر استدعاءات cURL ضد نقاط النهاية REST الخاصة بـ Aspose.Words Cloud.
- الحصول على رمز وصول (استبدل العناصر النائبة ببيانات الاعتماد الخاصة بك).
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"
- قم بتحميل ملف DOCX الذي يحتوي على النموذج ثلاثي الأبعاد.
curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/input.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @input.docx
- طلب تحويل PDF مع الحفاظ على 3D.
curl -X POST "https://api.aspose.cloud/v4.0/words/input.docx/saveAs/pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"PdfSaveOptions": {
"UpdateFields": false,
"Compliance": "PdfA1b"
}
}' \
-o output.pdf
- تحميل ملف PDF الناتج (الأمر السابق حفظه محليًا بالفعل، ولكن يمكنك أيضًا جلبه مباشرةً).
لمزيد من التفاصيل حول أجسام الطلب والمعلمات الإضافية، راجع وثائق API الرسمية.
اعتبارات النشر لتوليد PDF ثلاثي الأبعاد
عند دمج هذا الحل في بيئة الإنتاج، ضع في اعتبارك النقاط التالية:
- موقع الخادم - يتم تشغيل التحويل على خوادم سحابة Aspose، لذا تأكد من أن شبكتك تسمح بحركة مرور HTTPS الصادرة إلى
api.aspose.cloud. - الترخيص - يلزم الحصول على ترخيص تجاري للاستخدام في الإنتاج. يمكنك البدء بترخيص مؤقت من صفحة الترخيص المؤقت.
- القابلية للتوسع - نظرًا لأن API لا تحتفظ بحالة، يمكنك تنفيذ عمليات التحميل والتحويل بالتوازي عبر عدة مثيلات عامل للتعامل مع دفعات ذات حجم كبير، مع دعم كامل أتمتة 3D إلى PDF.
الخاتمة
إنشاء ملفات PDF تفاعلية ثلاثية الأبعاد في C# يصبح بسيطًا مع Aspose.Words Cloud SDK for .NET. باتباع الخطوات المذكورة أعلاه يمكنك تضمين نماذج U3D أو PRC، والحفاظ عليها أثناء تحويل PDF، وأتمتة سير العمل إما باستخدام مكتبة .NET أو استدعاءات REST المباشرة. تذكر أن تحصل على ترخيص مناسب للإنتاج وتختبر ملفات PDF التي تم إنشاؤها في عارض يدعم 3D، مثل Adobe Acrobat. باستخدام هذه القدرة يمكنك تقديم مستندات أغنى وأكثر جاذبية للسيناريوهات الهندسية، التسويقية، والتدريبية.
FAQs
كيف يمكنني إنشاء ملف PDF ثلاثي الأبعاد تفاعلي باستخدام C# و Aspose.Words Cloud?
استخدم SDK لتحميل ملف DOCX يحتوي بالفعل على نموذج U3D أو PRC، وقم بتكوين PdfSaveOptionsData للاحتفاظ بتدفقات 3D، واستدعِ ConvertDocumentAsync. يوضح مثال الشيفرة الكامل في هذه المقالة التسلسل الدقيق.
أي صيغ نماذج 3D يمكنني تضمينها لتحويل PDF؟
Aspose.Words Cloud يدعم صيغ U3D و PRC، وهي الصيغ القياسية للمحتوى التفاعلي ثلاثي الأبعاد في ملفات PDF.
هل من الممكن تشغيل التحويل دون كتابة أي شفرة C#؟
نعم، يمكن تنفيذ العملية نفسها باستخدام أوامر cURL ضد Aspose.Words Cloud REST API، كما هو موضح في قسم cURL.
أين يمكنني العثور على معلومات التسعير والترخيص؟
تفاصيل الترخيص التجاري متاحة على صفحة المنتج، ويمكنك الحصول على ترخيص مؤقت للتقييم من صفحة الترخيص المؤقت.