יצירת מסמכים מרתקים המאפשרים למשתמשים לסובב, להגדיל ולחקור מודלים תלת‑ממדיים ישירות בתוך 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.
PdfSaveOptionsDataשמאפשרת לך לשלוט בהתאמת PDF, בעדכוני שדות ובחשיבות, לשמר תוכן 3D משובץ.- שיטות המרה אסינכרוניות המחזירות זרם, ומאפשרות לך לכתוב את קובץ הפלט ישירות לדיסק.
ביחד, תכונות אלו מאפשרות זרימת עבודה נקייה של 3D ל‑PDF שניתן לשלב בצינורות CI, שירותי אינטרנט או משימות רקע. מידע מפורט על ה‑API זמין בתיעוד רשמי ובהפניות API.
צור PDF אינטראקטיבי תלת‑ממדי ב‑C#: מימוש
להלן מדריך שלב‑אחר‑שלב של היישום. כל שלב כולל קטע קוד קצר שנלקח ישירות מהדוגמה המלאה.
התקן את Aspose.Words Cloud SDK for .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 שמכיל מודל 3D משובץ
פתח את קובץ ה‑DOCX המקומי והעלה אותו ל‑Aspose Cloud storage, תוך החלפת כל קובץ קיים עם אותו שם.
using (var fileStream = File.OpenRead(localDocxPath))
{
var uploadRequest = new UploadFileRequest(fileStream, remoteFileName);
await wordsApi.UploadFileAsync(uploadRequest);
}
ודא שה‑DOCX כבר כולל מודל U3D או PRC; זהו פורמט מודל 3D שה‑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 כנגד נקודות הקצה של Aspose.Words Cloud REST.
- קבל אסימון גישה (החלף מצייני מקום עם האישורים שלך).
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 to PDF Automation מלא.
סיכום
יצירת קובץ PDF אינטראקטיבי תלת‑ממדי ב‑C# הופכת לפשוטה עם ה‑Aspose.Words Cloud SDK for .NET. על‑ידי ביצוע הצעדים שלמעלה ניתן לשלב מודלים U3D או PRC, לשמר אותם במהלך המרת PDF, ולתכנת את זרימת העבודה באמצעות ספריית .NET או קריאות REST ישירות. יש לזכור לרכוש רישיון מתאים לייצור ולבדוק את קבצי ה‑PDF שנוצרו במציג שתומך בתלת‑ממד, כגון Adobe Acrobat. עם יכולת זו ניתן לספק מסמכים עשירים ומרתקים יותר עבור הנדסה, שיווק ותרחישי הדרכה.
שאלות נפוצות
איך אני יוצר PDF אינטראקטיבי בתלת‑ממד ב‑C# באמצעות Aspose.Words Cloud?
השתמש ב‑SDK כדי להעלות קובץ DOCX שכבר מכיל מודל U3D או PRC, הגדר PdfSaveOptionsData כדי לשמור על זרמי ה‑3D, וקרא ל‑ConvertDocumentAsync. דוגמת הקוד המלאה במאמר זה מציגה את הרצף המדויק.
אילו פורמטים של מודלים תלת‑ממדיים ניתן לשלב עבור המרת PDF?
Aspose.Words Cloud תומך בפורמטים U3D ו‑PRC, שהם הפורמטים הסטנדרטיים לתוכן תלת‑ממדי אינטראקטיבי ב‑PDFs.
האם ניתן לבצע את ההמרה מבלי לכתוב קוד C#?
כן, ניתן לבצע את אותו תהליך באמצעות פקודות cURL נגד Aspose.Words Cloud REST API, כפי שמודגם בסעיף cURL.
היכן ניתן למצוא מידע על תמחור ורישוי?
פרטי הרישוי המסחרי זמינים בדף המוצר, ואתה יכול לקבל רישיון זמני להערכה מדף דף רישיון זמני.