3‑boyutlu modelleri doğrudan bir PDF içinde döndürmeye, yakınlaştırmaya ve keşfetmeye olanak tanıyan etkileyici belgeler oluşturmak, ürün kataloglarını, mühendislik raporlarını ve eğitim kılavuzlarını geliştirmek için güçlü bir yoldur. Aspose.Words Cloud SDK for .NET bulut‑tabanlı bir kütüphane sağlayarak, DOCX dosyalarını PDF’ye dönüştürürken 3D içeriğini kolayca gömmeyi ve korumayı mümkün kılar. Bu rehberde C# ile etkileşimli 3D PDF nasıl oluşturulacağını öğrenecek, tam bir kod örneğine bakacak, eşdeğer cURL REST çağrılarını inceleyecek ve gerçek‑dünya uygulamaları için dağıtım hususlarını anlayacaksınız.

3D PDF Oluşturma Senaryosu Gereksinimleri

Mühendislik portalları veya etkileşimli ürün broşürleri oluşturan geliştiriciler genellikle gömülü 3D modeller içeren PDF’ler sunmak zorunda kalırlar. Tipik gereksinimler şunlardır:

  • Kaynak belge, zaten U3D veya PRC formatında bir 3D model içeren bir DOCX olmalıdır.
  • Oluşturulan PDF, Adobe Acrobat gibi görüntüleyicilerin etkileşimli olarak render edebilmesi için 3D verileri korumalıdır.
  • Dönüştürme işlemi otomatik olmalı, bir sunucuda çalışmalı ve manuel müdahale olmadan büyük partilerle çalışabilmelidir.

Geleneksel masaüstü araçları bulut ortamında güvenilir bir şekilde scriptlenemez ve genellikle dönüşüm sırasında 3D akışlarını kaldırırlar. 3D modeli korurken PDF/A uyumluluğu sağlayan programatik bir çözüm bu nedenle gereklidir.

Yaklaşım: 3D PDF için Aspose.Words Cloud’dan Yararlanma

Aspose.Words Cloud SDK for .NET, Aspose’un güvenli sunucularında çalışan bir dizi REST‑tabanlı işlem sunar. Senaryoyu ele alan temel yetenekler şunlardır:

  • DOCX dosyalarının Aspose Cloud depolamasına doğrudan yüklenmesi.
  • PdfSaveOptionsData PDF uyumluluğunu, alan güncellemelerini ve özellikle gömülü 3D içeriğin korunmasını kontrol etmenizi sağlar.
  • Akış döndüren asenkron dönüştürme yöntemleri, çıktıyı doğrudan diske yazmanıza olanak tanır.

Bu özellikler birlikte, CI boru hatlarına, web hizmetlerine veya arka plan görevlerine entegre edilebilen temiz bir 3D’den PDF’ye iş akışı sağlar. Ayrıntılı API bilgileri resmi belgelerde ve API referansında mevcuttur.

C#’ta Etkileşimli 3D PDF Oluşturma: Uygulama

Aşağıda, uygulamanın adım adım bir yürütmesi bulunmaktadır. Her adım, tam örnekten doğrudan alınmış kısa bir kod alıntısı içerir.

Aspose.Words Cloud SDK for .NET’i kurun

İlk olarak, NuGet paketini projenize ekleyin.

dotnet add package Aspose.Words-Cloud

İkili dosyaları ayrıca indirme sayfası üzerinden indirebilirsiniz.

WordsApi İstemcisini Yapılandır

İstemci kimlik bilgilerinizi kullanarak bir Configuration nesnesi oluşturun ve WordsApi‘yi örnekleyin.

var config = new Configuration
{
    ClientId = "YOUR_CLIENT_ID",
    ClientSecret = "YOUR_CLIENT_SECRET"
};
var wordsApi = new WordsApi(config);

WordsApi sınıfı, API referansı içinde belgelenmiştir.

Gömülü 3D Model İçeren Bir DOCX Yükleyin

Yerel DOCX dosyasını açın ve aynı ada sahip mevcut bir dosyanın üzerine yazarak Aspose Cloud depolama alanına yükleyin.

using (var fileStream = File.OpenRead(localDocxPath))
{
    var uploadRequest = new UploadFileRequest(fileStream, remoteFileName);
    await wordsApi.UploadFileAsync(uploadRequest);
}

DOCX’in zaten bir U3D veya PRC modeli içerdiğinden emin olun; bu, SDK’nın koruduğu 3D Model Formatdır.

3D İçeriği Korumak İçin PDF Kaydetme Seçeneklerini Ayarlayın

PdfSaveOptionsData‘yi 3D akışlarını korumak ve PDF/A‑1b uyumluluğunu kullanmak için yapılandırın.

var pdfOptions = new PdfSaveOptionsData
{
    UpdateFields = false,
    Compliance = PdfCompliance.PdfA1b,
    SaveFormat = "pdf"
};

Bu seçenekler, etkileşimli modelin bütünlüğünü koruyan 3D to PDF Workflow’nin bir parçasıdır.

Etkileşimli 3D PDF’yi Dönüştür ve İndir

Dönüştürme isteğini çağırın ve oluşan akışı yerel bir PDF dosyasına yazın.

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);
}

Dönüştürmeden sonra isteğe bağlı olarak geçici dosyayı bulut depolamadan silebilirsiniz.

Tam Kod Örneği: C#’ta Etkileşimli 3D PDF Oluşturma

Aşağıdaki kod, baştan sona tüm süreci gösterir.

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)}'.");
        }
    }
}

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını (input.docx, output.pdf, vb.) gerçek dosya konumlarınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler bölümüne bakın veya yardım için destek ekibi ile iletişime geçin.

cURL ve REST API ile 3D PDF Dönüştürme Gerçekleştirin

Aynı işlem, Aspose.Words Cloud REST uç noktalarına karşı cURL çağrılarıyla yürütülebilir.

  1. Erişim belirtecini alın (yer tutucuları kimlik bilgilerinizle değiştirin).
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. DOCX’yi Yükleyin 3D modeli içeren.
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
  1. 3D koruması ile PDF dönüşümünü isteyin.
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
  1. İndirilen PDF’yi (önceki komut zaten yerel olarak kaydetti, ancak doğrudan da alabilirsiniz).

İstek gövdeleri ve ek parametreler hakkında daha fazla ayrıntı için, resmi API belgelerine bakın.

3D PDF Oluşturma için Dağıtım Hususları

Bu çözümü üretim ortamına entegre ederken, aşağıdaki noktaları aklınızda bulundurun:

  • Sunucu Konumu - Dönüştürme, Aspose’un bulut sunucularında çalışır, bu yüzden ağınızın api.aspose.cloud adresine giden dış HTTPS trafiğine izin verdiğinden emin olun.
  • Lisanslama - Üretim kullanımı için ticari bir lisans gereklidir. Geçici bir lisansla geçici lisans sayfası üzerinden başlayabilirsiniz.
  • Ölçeklenebilirlik - API durum bilgisiz olduğundan, yüksek hacimli toplu işlemleri yönetmek için birden fazla işçi örneği arasında yüklemeleri ve dönüştürmeleri paralelleştirebilir, tam 3D’den PDF’ye Otomasyon desteği sağlayabilirsiniz.

Sonuç

C#’ta etkileşimli 3D PDF oluşturmak, Aspose.Words Cloud SDK for .NET ile çok daha basit hale gelir. Yukarıdaki adımları izleyerek U3D veya PRC modellerini gömebilir, PDF dönüşümü sırasında bunları koruyabilir ve .NET kütüphanesini ya da doğrudan REST çağrılarını kullanarak iş akışını otomatikleştirebilirsiniz. Üretim için uygun bir lisans almayı ve oluşturulan PDF’leri 3D’yi destekleyen bir görüntüleyicide, örneğin Adobe Acrobat’ta test etmeyi unutmayın. Bu yetenek sayesinde mühendislik, pazarlama ve eğitim senaryoları için daha zengin ve daha etkileyici belgeler sunabilirsiniz.

FAQs

C# kullanarak Aspose.Words Cloud ile etkileşimli 3D PDF nasıl oluştururum?
SDK’yı kullanarak zaten bir U3D veya PRC modeli içeren bir DOCX dosyasını yükleyin, 3D akışlarını korumak için PdfSaveOptionsData‘yı yapılandırın ve ConvertDocumentAsync‘i çağırın. Bu makaledeki tam kod örneği, kesin sıralamayı gösterir.

PDF dönüşümü için hangi 3D model formatlarını gömebilirim?
Aspose.Words Cloud U3D ve PRC formatlarını destekler, bunlar PDF’lerde etkileşimli 3D içerik için standart formatlardır.

Herhangi bir C# kodu yazmadan dönüşümü çalıştırmak mümkün mü?
Evet, aynı süreç, cURL bölümünde gösterildiği gibi Aspose.Words Cloud REST API’ye karşı cURL komutlarıyla gerçekleştirilebilir.

Fiyatlandırma ve lisans bilgilerini nereden bulabilirim?
Ticari lisans detayları ürün sayfasında mevcuttur ve değerlendirme için geçici bir lisans alabilirsiniz geçici lisans sayfası.

Read More