At skabe immersive dokumenter, der lader brugerne rotere, zoome og udforske 3‑dimensionelle modeller direkte i en PDF er en kraftfuld måde at forbedre produktkataloger, ingeniørrapporter og træningsmanualer på. Aspose.Words Cloud SDK for .NET leverer et cloud‑baseret bibliotek, der gør det nemt at indlejre og bevare 3D indhold, når man konverterer DOCX filer til PDF. I denne vejledning vil du lære, hvordan du genererer interaktive 3D PDF’er i C#, se et komplet kodeeksempel, udforske de tilsvarende cURL REST‑kald og forstå implementeringsovervejelser for virkelige applikationer.

Krav til 3D PDF‑genereringsscenariet

Udviklere, der bygger ingeniørportaler eller interaktive produktbrochurer, har ofte brug for at levere PDF-filer, der indeholder indlejrede 3D-modeller. De typiske krav er:

  • Kildedokumentet skal være en DOCX, der allerede indeholder en 3D‑model i U3D eller PRC format.
  • Den resulterende PDF skal bevare 3D‑dataene, så visningsprogrammer som Adobe Acrobat kan gengive den interaktivt.
  • Konverteringsprocessen bør automatiseres, køre på en server og fungere med store batcher uden manuel indgriben.

Traditionelle desktopværktøjer kan ikke skriptstyres pålideligt i et cloud‑miljø, og de fjerner ofte 3D‑strømme under konverteringen. En programmatisk løsning, der bevarer 3D‑modellen, mens den tilbyder PDF/A‑overholdelse, er derfor essentiel.

Tilgangen: Udnyttelse af Aspose.Words Cloud til 3D PDF

Aspose.Words Cloud SDK for .NET tilbyder et sæt REST‑baserede operationer, der kører på Asposes sikre servere. Nøglefunktioner, der adresserer scenariet, omfatter:

  • Direkte upload af DOCX-filer til Aspose Cloud-lagring.
  • PdfSaveOptionsData, der giver dig mulighed for at styre PDF-overensstemmelse, feltopdateringer og, vigtigst af alt, bevarelsen af indlejret 3D-indhold.
  • Asynkrone konverteringsmetoder, der returnerer en stream, så du kan skrive outputfilen direkte til disk.

Sammen gør disse funktioner det muligt at have en ren 3D til PDF‑arbejdsgang, som kan integreres i CI‑pipelines, webtjenester eller baggrundsjob. Detaljeret API‑information er tilgængelig i den officielle dokumentation og i API‑referencen.

Generer interaktiv 3D PDF i C#: Implementering

Nedenfor er en trin‑for‑trin gennemgang af implementeringen. Hvert trin indeholder et kort kodeudsnit, der er taget direkte fra det fulde eksempel.

Installer Aspose.Words Cloud SDK for .NET

Først skal du tilføje NuGet-pakken til dit projekt.

dotnet add package Aspose.Words-Cloud

Du kan også downloade binærerne fra download‑siden.

Konfigurer WordsApi-klienten

Opret et Configuration-objekt med dine klientoplysninger og instansier WordsApi.

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

Klassen WordsApi er dokumenteret i API-referencen.

Upload en DOCX, der indeholder en indlejret 3D-model

Åbn den lokale DOCX‑fil og upload den til Aspose Cloud storage, overskriv enhver eksisterende fil med samme navn.

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

Sørg for, at DOCX allerede indeholder en U3D- eller PRC-model; dette er 3D-modelformatet, som SDK’en bevarer.

Indstil PDF-gemningsindstillinger for at bevare 3D-indhold

Konfigurer PdfSaveOptionsData til at beholde 3D‑strømmene og bruge PDF/A‑1b‑overensstemmelse.

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

Disse indstillinger er en del af 3D til PDF-arbejdsflow, som sikrer, at den interaktive model forbliver intakt.

Konvertér og download den interaktive 3D PDF

Udfør konverteringsanmodningen og skriv den resulterende strøm til en lokal PDF‑fil.

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

Efter konverteringen kan du eventuelt slette den midlertidige fil fra cloud‑lagringen.

Komplet kodeeksempel: Interaktiv 3D PDF‑generering i C#

Den følgende kode demonstrerer hele processen fra start til slut.

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

Bemærk: Dette kodeeksempel demonstrerer kernefunktionaliteten. Før du bruger det i dit projekt, skal du sørge for at opdatere filstierne (input.docx, output.pdf osv.) så de matcher dine faktiske filplaceringer, bekræfte at alle nødvendige afhængigheder er korrekt installeret, og teste grundigt i dit udviklingsmiljø. Hvis du støder på problemer, så henvis venligst til den officielle dokumentation eller kontakt supportteamet for assistance.

Udfør 3D PDF-konvertering med cURL og REST API

Den samme operation kan udføres via cURL‑kald mod Aspose.Words Cloud REST‑endpoints.

  1. Hent en adgangstoken (erstat pladsholderne med dine legitimationsoplysninger).
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. Upload DOCX-filen som indeholder 3D-modellen.
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. Anmod om PDF-konvertering med 3D-bevaring
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. Download den resulterende PDF (den foregående kommando har allerede gemt den lokalt, men du kan også hente den direkte).

For flere detaljer om anmodningskroppe og yderligere parametre, se den officielle API-dokumentation.

Udrulningsovervejelser for 3D PDF-generering

Når du integrerer denne løsning i et produktionsmiljø, skal du huske følgende punkter:

  • Serverplacering - Konverteringen kører på Aspose’s cloud‑servere, så sørg for, at dit netværk tillader udgående HTTPS‑trafik til api.aspose.cloud.
  • Licensiering - En kommerciel licens kræves til produktionsbrug. Du kan starte med en midlertidig licens fra den midlertidige licensside.
  • Skalerbarhed - Da API’en er stateless, kan du parallelisere uploads og konverteringer på tværs af flere worker‑instanser for at håndtere store batch‑mængder, hvilket understøtter fuld 3D til PDF-automatisering.

Konklusion

Generering af interaktive 3D PDF i C# bliver enkelt med Aspose.Words Cloud SDK for .NET. Ved at følge trinnene ovenfor kan du indlejre U3D- eller PRC-modeller, bevare dem under PDF-konvertering og automatisere arbejdsgangen enten med .NET-biblioteket eller direkte REST‑kald. Husk at sikre en korrekt licens til produktion og at teste de genererede PDF‑er i en visning, der understøtter 3D, såsom Adobe Acrobat. Med denne funktion kan du levere rigere, mere engagerende dokumenter til ingeniør‑, marketing‑ og træningsscenarier.

Ofte stillede spørgsmål

Hvordan genererer jeg interaktive 3D PDF i C# ved hjælp af Aspose.Words Cloud?
Brug SDK’et til at uploade en DOCX, der allerede indeholder en U3D- eller PRC-model, konfigurer PdfSaveOptionsData til at beholde 3D-strømmene, og kald ConvertDocumentAsync. Det komplette kodeeksempel i denne artikel viser den nøjagtige sekvens.

Hvilke 3D-modelformater kan jeg indlejre til PDF‑konverteringen?
Aspose.Words Cloud understøtter U3D‑ og PRC‑formater, som er standardformaterne for interaktivt 3D‑indhold i PDF’er.

Er det muligt at køre konverteringen uden at skrive nogen C#-kode?
Ja, den samme proces kan udføres med cURL-kommandoer mod Aspose.Words Cloud REST API, som vist i cURL-afsnittet.

Hvor kan jeg finde pris- og licensinformation?
Kommercielle licensdetaljer er tilgængelige på produktsiden, og du kan få en midlertidig licens til evaluering fra den midlertidige licensside.

Læs mere