تبدیل مدل‌های پیچیده 3D به یک PDF قابل اشتراک‌گذاری یک نیاز مکرر برای تیم‌های مهندسی است که باید داده‌های بصری را در گزارش‌ها یا مستندات جاسازی کنند. Aspose.3D Cloud SDK for .NET یک کتابخانه قدرتمند ارائه می‌دهد که تبدیل 3D به PDF در C# را ساده و قابل اعتماد می‌کند. در این راهنما شما یاد خواهید گرفت چگونه SDK را تنظیم کنید، کد تبدیل را بنویسید، از دستورات معادل cURL استفاده کنید و تنظیمات تبدیل را برای عملکرد بهینه دقیقاً تنظیم کنید. در پایان، یک راه‌حل کاملاً عملیاتی خواهید داشت که می‌تواند در هر برنامه .NET یکپارچه شود.

قبل از شروع: پیش‌نیازها و نصب

  • Operating System: Windows, Linux, یا macOS با runtime .NET 6.0+
  • IDE: Visual Studio 2022 یا هر ویرایشی که از توسعه .NET پشتیبانی می‌کند
  • Aspose Cloud Account: شما به یک ClientId و ClientSecret از داشبورد Aspose Cloud نیاز دارید
  • NuGet Package: 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#: راهنمای گام به گام

مرحله ۱: بارگذاری سند منبع

ابتدا، فایل مدل 3D را (OBJ, STL, FBX, و غیره) روی دیسک پیدا کنید و یک شیء FileInfo ایجاد کنید.

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

مرحله ۲: تعریف پارامترهای خروجی

فرمت هدف را به 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 به دست آورده‌اید. این راهنما همه چیز را از تنظیم محیط و پیاده‌سازی کد تا دستورات cURL مبتنی بر REST و گزینه‌های تنظیم دقیق برای سرعت و قابلیت اطمینان پوشش داد. به یاد داشته باشید برای استفاده در تولید یک لایسنس مناسب تهیه کنید؛ جزئیات قیمت‌گذاری در صفحه محصول موجود است و می‌توانید یک لایسنس موقت را از صفحه لایسنس موقت دریافت کنید. این جریان کار را در برنامه‌های خود ادغام کنید تا ایجاد اسناد PDF با کیفیت بالا که دارایی‌های 3D شما را به نمایش می‌گذارند، خودکار شود.

سوالات متداول

چگونه می‌توانم تبدیل 3D به PDF را در C# با استفاده از Aspose انجام دهم؟
از متد PostConvert3D کلاس ThreeDApi استفاده کنید. فایل منبع را فراهم کنید، format را به "pdf" تنظیم کنید و Stream بازگشتی را برای ذخیره PDF مدیریت کنید.

آیا می‌توانم تبدیل 3D به PDF را به صورت دسته‌ای خودکار کنم؟
بله. بر روی مجموعه‌ای از مسیرهای فایل حلقه بزنید و برای هر مدل همان کد تبدیل را فراخوانی کنید. API بدون حالت SDK ادغام آن را در سرویس‌های پس‌زمینه یا خطوط لوله CI آسان می‌کند.

در هنگام کار با فایل‌های C# برای مدل‌های سه‌بعدی بزرگ چه ملاحظاتی مهم هستند؟
Prefer streaming the input and output files rather than loading the entire model into memory. The example uses FileInfo for the source and writes the PDF stream directly to disk, which reduces memory pressure.

کجا می‌توانم اطلاعات مربوط به لایسنس Aspose.3D Cloud SDK for .NET را پیدا کنم؟
برای جزئیات قیمت‌گذاری به صفحه محصول مراجعه کنید و یک لایسنس آزمایشی یا موقت از صفحه لایسنس موقت دریافت کنید.

بیشتر بخوانید