Створення захоплюючих документів, які дозволяють користувачам обертати, масштабувати та досліджувати тривимірні моделі безпосередньо в PDF, є потужним способом покращити каталоги продукції, інженерні звіти та навчальні посібники. Aspose.Words Cloud SDK for .NET надає хмарну бібліотеку, яка спрощує вбудовування та збереження 3D контенту під час конвертації файлів DOCX у PDF. У цьому посібнику ви дізнаєтеся, як створювати інтерактивні 3D PDF у C#, переглянете повний приклад коду, дослідите еквівалентні виклики cURL REST і зрозумієте питання розгортання для реальних застосувань.
Вимоги до сценарію генерації 3D PDF
Розробникам, які створюють інженерні портали або інтерактивні брошури продуктів, часто потрібно надавати PDF‑файли, що містять вбудовані 3D‑моделі. Типові вимоги такі:
- Вихідний документ повинен бути DOCX, який вже містить 3D‑модель у форматі U3D або PRC.
- Отриманий PDF повинен зберігати 3D‑дані, щоб такі переглядачі, як Adobe Acrobat, могли відображати їх інтерактивно.
- Процес конвертації має бути автоматизованим, працювати на сервері та обробляти великі партії без ручного втручання.
Традиційні настільні інструменти не можна надійно скриптувати в хмарному середовищі, і вони часто видаляють 3D‑потоки під час конвертації. Програмне рішення, яке зберігає 3D‑модель і забезпечує відповідність PDF/A, тому є необхідним.
Підхід: використання Aspose.Words Cloud для 3D PDF
Aspose.Words Cloud SDK for .NET пропонує набір операцій на основі REST, які виконуються на захищених серверах Aspose. Ключові можливості, що відповідають сценарію, включають:
- Пряме завантаження файлів DOCX у сховище Aspose Cloud.
PdfSaveOptionsData, який дозволяє керувати відповідністю PDF, оновленням полів і, що важливо, збереженням вбудованого 3D‑контенту.- Асинхронні методи конвертації, які повертають потік, дозволяючи записати вихідний файл безпосередньо на диск.
Разом ці функції забезпечують чистий процес перетворення 3D у PDF, який можна інтегрувати в CI‑конвеєри, веб‑служби або фоновые завдання. Детальна інформація про API доступна в офіційній документації та в довіднику API.
Створення інтерактивного 3D 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, перезаписуючи будь‑який існуючий файл з такою ж назвою.
using (var fileStream = File.OpenRead(localDocxPath))
{
var uploadRequest = new UploadFileRequest(fileStream, remoteFileName);
await wordsApi.UploadFileAsync(uploadRequest);
}
Переконайтеся, що DOCX вже містить модель U3D або PRC; це формат 3D‑моделі, який зберігає SDK.
Встановити параметри збереження PDF для збереження 3D‑вмісту
Налаштуйте PdfSaveOptionsData, щоб зберігати 3D‑потоки та використовувати відповідність PDF/A‑1b.
var pdfOptions = new PdfSaveOptionsData
{
UpdateFields = false,
Compliance = PdfCompliance.PdfA1b,
SaveFormat = "pdf"
};
Ці параметри є частиною 3D to PDF Workflow, який забезпечує збереження інтерактивної моделі.
Конвертувати та завантажити інтерактивний 3D 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);
}
Після конвертації ви можете за бажанням видалити тимчасовий файл із хмарного сховища.
Повний приклад коду: Інтерактивна генерація 3D 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тощо), щоб вони відповідали фактичним розташуванням ваших файлів, перевірте, що всі необхідні залежності встановлені правильно, і ретельно протестуйте у вашому середовищі розробки. Якщо ви зіткнетеся з будь-якими проблемами, будь ласка, зверніться до офіційної документації або зв’яжіться з командою підтримки для отримання допомоги.
Виконайте 3D конвертацію 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, який містить 3D‑модель.
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.
Питання розгортання для генерації 3D PDF
При інтеграції цього рішення у виробниче середовище майте на увазі наступні моменти:
- Розташування сервера - Перетворення виконується на хмарних серверах Aspose, тому переконайтеся, що ваша мережа дозволяє вихідний HTTPS‑трафік до
api.aspose.cloud. - Ліцензування - Для використання у продакшн потрібна комерційна ліцензія. Ви можете розпочати з тимчасової ліцензії на сторінці тимчасової ліцензії.
- Масштабованість - Оскільки API без стану, ви можете паралелізувати завантаження та перетворення на кількох робочих інстанціях, щоб обробляти великі обсяги пакетів, підтримуючи повну 3D to PDF Automation.
Висновок
Створення інтерактивних 3D PDF у C# стає простим за допомогою Aspose.Words Cloud SDK for .NET. Дотримуючись наведених вище кроків, ви можете вбудовувати моделі U3D або PRC, зберігати їх під час конвертації у PDF і автоматизувати робочий процес за допомогою бібліотеки .NET або прямих REST‑викликів. Не забудьте отримати належну ліцензію для продакшн‑використання та протестувати згенеровані PDF у переглядачі, що підтримує 3D, наприклад Adobe Acrobat. Завдяки цій можливості ви можете створювати більш насичені та привабливі документи для інженерії, маркетингу та навчальних сценаріїв.
FAQs
Як я можу створити інтерактивний 3D PDF у C# за допомогою Aspose.Words Cloud?
Використовуйте SDK, щоб завантажити DOCX, який вже містить модель U3D або PRC, налаштуйте PdfSaveOptionsData для збереження 3D‑потоків і викличте ConvertDocumentAsync. Повний приклад коду в цій статті показує точну послідовність.
Які формати 3D‑моделей я можу вбудовувати для конвертації у PDF?
Aspose.Words Cloud підтримує формати U3D та PRC, які є стандартними форматами для інтерактивного 3D‑контенту у PDF‑файлах.
Чи можливо виконати конвертацію без написання коду C#?
Так, той самий процес можна виконати за допомогою команд cURL проти Aspose.Words Cloud REST API, як продемонстровано у розділі cURL.
Де я можу знайти інформацію про ціни та ліцензування?
Комерційні деталі ліцензування доступні на сторінці продукту, і ви можете отримати тимчасову ліцензію для оцінки на сторінці тимчасової ліцензії.