Преобразование сложных 3D‑моделей в один совместимый PDF является частой задачей для инженерных команд, которым необходимо встраивать визуальные данные в отчёты или документацию. Aspose.3D Cloud SDK for .NET предоставляет мощную библиотеку, которая делает конвертацию 3D в PDF в C# простой и надёжной. В этом руководстве вы узнаете, как настроить SDK, написать код конвертации, использовать эквивалентные команды cURL и точно настроить параметры конвертации для оптимальной производительности. К концу вы получите полностью функционирующее решение, которое можно интегрировать в любое приложение .NET.

Перед началом: Предварительные требования и установка

  • Операционная система: Windows, Linux или macOS с .NET 6.0+ runtime.
  • IDE: Visual Studio 2022 или любой редактор, поддерживающий разработку на .NET.
  • Aspose Cloud Account: Вам нужны ClientId и ClientSecret из панели управления Aspose Cloud.
  • Пакет NuGet: Установите SDK через командную строку.
dotnet add package Aspose.3D-Cloud

Скачайте последние бинарные файлы и документацию с официальной страницы релизов: Aspose.3D Cloud SDK for .NET Download. После установки пакета добавьте следующий фрагмент конфигурации в ваш проект для аутентификации в Aspose Cloud.

var config = new Configuration
{
    ClientId = "YOUR_CLIENT_ID",
    ClientSecret = "YOUR_CLIENT_SECRET"
};

С конфигурацией на месте вы готовы начать процесс конвертации.

Преобразование 3D в PDF в C#: пошаговое руководство

Шаг 1: Загрузите исходный документ

Сначала найдите файл 3D‑модели (OBJ, STL, FBX, и т.д.) на диске и создайте объект FileInfo.

string inputFilePath = Path.Combine(Environment.CurrentDirectory, "model.obj");
var inputFile = new FileInfo(inputFilePath);

Шаг 2: Определить параметры вывода

Установите целевой формат в pdf и при необходимости укажите параметры хранилища. SDK вернёт Stream, содержащий данные PDF.

string targetFormat = "pdf";   // Output format
string outPath = null;         // Let the API return the file stream
string storage = null;         // Default storage
string folder = null;          // Root folder

Шаг 3: Вызов API конвертации

Вызовите PostConvert3D у клиента ThreeDApi. Этот вызов выполняет фактическое преобразование.

Stream pdfStream = threeDApi.PostConvert3D(
    file: inputFile,
    format: targetFormat,
    outPath: outPath,
    storage: storage,
    folder: folder
);

Для получения более подробной информации о методе см. Справка API.

Шаг 4: Сохранить поток PDF на диск

Запишите возвращаемый поток в файл на вашем локальном компьютере.

string outputFilePath = Path.Combine(Environment.CurrentDirectory, "model.pdf");
using (var fileStream = new FileStream(outputFilePath, FileMode.Create, FileAccess.Write))
{
    pdfStream.CopyTo(fileStream);
}

Шаг 5: Элегантно обрабатывать ошибки

Обёрните логику преобразования в блоки try‑catch, чтобы перехватывать исключения API и исключения во время выполнения.

try
{
    // Conversion code here
}
catch (ApiException apiEx)
{
    Console.WriteLine($"API error: {apiEx.ErrorCode} - {apiEx.Message}");
}
catch (Exception ex)
{
    Console.WriteLine($"Unexpected error: {ex.Message}");
}

С помощью этих шагов вы завершили полный процесс конвертации 3D в PDF на C#.

Полный рабочий пример преобразования 3D в PDF на C#

Следующий код демонстрирует полную реализацию, описанную выше.

using System;
using System.IO;
using Aspose.ThreeD.Cloud.Sdk.Api;
using Aspose.ThreeD.Cloud.Sdk.Client;
using Aspose.ThreeD.Cloud.Sdk.Model;

namespace ThreeDToPdfDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configuration – replace with your actual Aspose Cloud credentials
            var config = new Configuration
            {
                ClientId = "YOUR_CLIENT_ID",
                ClientSecret = "YOUR_CLIENT_SECRET"
            };

// Initialize the ThreeD API client
            var threeDApi = new ThreeDApi(config);

// Input 3D model file (OBJ, STL, FBX, etc.)
            string inputFilePath = Path.Combine(Environment.CurrentDirectory, "model.obj");
            var inputFile = new FileInfo(inputFilePath);

// Desired output PDF file
            string outputFilePath = Path.Combine(Environment.CurrentDirectory, "model.pdf");

// Conversion parameters
            string targetFormat = "pdf";          // Output format
            string outPath = null;                // Let the API return the file stream
            string storage = null;                // Default storage
            string folder = null;                 // Root folder

try
            {
                // Perform conversion – the API returns a Stream containing the PDF data
                Stream pdfStream = threeDApi.PostConvert3D(
                    file: inputFile,
                    format: targetFormat,
                    outPath: outPath,
                    storage: storage,
                    folder: folder
                );

// Write the resulting PDF stream to disk
                using (var fileStream = new FileStream(outputFilePath, FileMode.Create, FileAccess.Write))
                {
                    pdfStream.CopyTo(fileStream);
                }

Console.WriteLine($"Conversion successful. PDF saved to: {outputFilePath}");
            }
            catch (ApiException apiEx)
            {
                Console.WriteLine($"API error: {apiEx.ErrorCode} - {apiEx.Message}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Unexpected error: {ex.Message}");
            }
        }
    }
}

Примечание: Этот пример кода демонстрирует основную функциональность. Прежде чем использовать его в вашем проекте, убедитесь, что обновили все пути к файлам и значения конфигурации в соответствии с вашей реальной средой, проверьте, что все необходимые зависимости правильно установлены, и тщательно протестируйте в вашей среде разработки. Если вы столкнётесь с какими‑либо проблемами, обратитесь к официальной документации или свяжитесь с командой поддержки для получения помощи.

Конвертация 3D в PDF с использованием cURL и REST API

Если вы предпочитаете язык‑независимый подход, вы можете выполнить то же преобразование с помощью необработанных HTTP‑запросов.

  1. Получить токен доступа
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"
  1. Загрузите исходный 3D‑файл
curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/model.obj" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -T "model.obj"
  1. Запросить конвертацию
curl -X POST "https://api.aspose.cloud/v3.0/3d/convert?format=pdf&outPath=model.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@model.obj"
  1. Скачать полученный PDF
curl -X GET "https://api.aspose.cloud/v3.0/3d/storage/file/model.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o "model.pdf"

Эти команды отражают рабочий процесс SDK и полезны для интеграционных тестов или скриптов автоматизации. Для получения более подробной информации см. официальную документацию API.

Тонкая настройка параметров конвертации

SDK предоставляет несколько параметров, позволяющих управлять процессом конвертации:

  • targetFormat — определяет формат вывода. Установка значения "pdf" инициирует конвертацию 3D в PDF.
  • outPath — если оставить null, API возвращает поток; указание пути позволяет сервису сохранять файл непосредственно в облачном хранилище.
  • storage — выберите конкретное место в облачном хранилище, если у вас несколько контейнеров.
  • folder — задайте подпапку в хранилище для организации ваших файлов.

Настройка этих параметров может улучшить производительность конвертации 3D в PDF в .NET, особенно при работе с большими моделями или пакетными операциями.

Заключение

Теперь вы освоили конвертацию 3D в PDF на C# используя Aspose.3D Cloud SDK for .NET. Руководство охватывало всё — от настройки среды и реализации кода до REST‑based cURL команд и тонкой настройки параметров для скорости и надёжности. Не забудьте получить правильную лицензию для использования в продакшн; детали ценообразования доступны на странице продукта, а временную лицензию можно получить со страницы временной лицензии. Интегрируйте этот рабочий процесс в свои приложения, чтобы автоматизировать создание PDF‑документов высокого качества, демонстрирующих ваши 3D‑активы.

FAQs

Как выполнить конвертацию 3D в PDF в C# с использованием Aspose?
Используйте метод PostConvert3D класса ThreeDApi. Укажите исходный файл, задайте format как "pdf" и обработайте возвращаемый Stream, чтобы сохранить PDF.

Могу ли я автоматизировать конвертацию 3D в PDF в пакетном процессе?
Да. Пройдите по коллекции путей к файлам и вызовите тот же код конвертации для каждой модели. Stateless API SDK упрощает интеграцию в фоновые сервисы или конвейеры CI.

Какие соображения важны при работе с файлами C# для больших 3D‑моделей?
Рекомендуется использовать потоковую передачу входных и выходных файлов вместо загрузки всей модели в память. В примере используется FileInfo для источника и запись PDF‑потока напрямую на диск, что снижает нагрузку на память.

Где я могу найти информацию о лицензировании Aspose.3D Cloud SDK for .NET?
Посетите страницу продукта для получения деталей о ценах и получите пробную или временную лицензию на странице временной лицензии.

Read More