Criar documentos imersivos que permitem aos usuários girar, ampliar e explorar modelos tridimensionais diretamente dentro de um PDF é uma maneira poderosa de melhorar catálogos de produtos, relatórios de engenharia e manuais de treinamento. Aspose.Words Cloud SDK for .NET fornece uma biblioteca baseada na nuvem que facilita a incorporação e preservação de conteúdo 3D ao converter arquivos DOCX para PDF. Neste guia, você aprenderá como gerar PDFs 3D interativos em C#, verá um exemplo de código completo, explorará as chamadas REST equivalentes em cURL e entenderá considerações de implantação para aplicações do mundo real.

Requisitos do Cenário de Geração de PDF 3D

Desenvolvedores que criam portais de engenharia ou brochuras de produtos interativas frequentemente precisam entregar PDFs que contenham modelos 3D incorporados. Os requisitos típicos são:

  • O documento de origem deve ser um DOCX que já inclua um modelo 3D nos formatos U3D ou PRC .
  • O PDF resultante deve reter os dados 3D para que visualizadores como o Adobe Acrobat possam renderizá‑lo interativamente.
  • O processo de conversão deve ser automatizado, executado em um servidor e funcionar com grandes lotes sem intervenção manual.

Ferramentas de desktop tradicionais não podem ser scriptadas de forma confiável em um ambiente de nuvem, e frequentemente removem os fluxos 3D durante a conversão. Uma solução programática que preserve o modelo 3D enquanto oferece conformidade PDF/A é, portanto, essencial.

A abordagem: aproveitando o Aspose.Words Cloud para PDF 3D

Aspose.Words Cloud SDK for .NET oferece um conjunto de operações baseadas em REST que são executadas nos servidores seguros da Aspose. As principais capacidades que atendem ao cenário incluem:

  • Upload direto de arquivos DOCX para o armazenamento Aspose Cloud.
  • PdfSaveOptionsData que permite controlar a conformidade do PDF, atualizações de campos e, crucialmente, a preservação de conteúdo 3D incorporado.
  • Métodos de conversão assíncronos que retornam um stream, permitindo gravar o arquivo de saída diretamente no disco.

Juntas, esses recursos permitem um fluxo de trabalho limpo de 3D para PDF que pode ser integrado em pipelines de CI, serviços web ou tarefas em segundo plano. Informações detalhadas da API estão disponíveis na documentação oficial e na referência da API.

Gerar PDF 3D Interativo em C#: Implementação

Abaixo está um tutorial passo a passo da implementação. Cada etapa inclui um pequeno trecho de código retirado diretamente do exemplo completo.

Instalar o Aspose.Words Cloud SDK for .NET

Primeiro, adicione o pacote NuGet ao seu projeto.

dotnet add package Aspose.Words-Cloud

Você também pode baixar os binários na página de download.

Configure o cliente WordsApi

Crie um objeto Configuration com suas credenciais de cliente e instancie WordsApi.

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

The WordsApi class is documented in the referência da API.

Carregar um DOCX que contém um modelo 3D incorporado

Abra o arquivo DOCX local e faça o upload para o armazenamento Aspose Cloud, sobrescrevendo qualquer arquivo existente com o mesmo nome.

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

Certifique‑se de que o DOCX já inclua um modelo U3D ou PRC; este é o 3D Model Format que o SDK preserva.

Definir Opções de Salvamento de PDF para Preservar Conteúdo 3D

Configure PdfSaveOptionsData para manter os fluxos 3D e usar conformidade PDF/A‑1b.

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

Essas opções fazem parte do Fluxo de Trabalho 3D para PDF que garante que o modelo interativo permaneça intacto.

Converter e Baixar o PDF 3D Interativo

Invocar a solicitação de conversão e gravar o fluxo resultante em um arquivo PDF local.

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

Após a conversão, você pode opcionalmente excluir o arquivo temporário do armazenamento em nuvem.

Exemplo de Código Completo: Geração Interativa de PDF 3D em C#

O código a seguir demonstra todo o processo do início ao fim.

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

Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar os caminhos dos arquivos (input.docx, output.pdf, etc.) para corresponder às suas localizações reais, verifique se todas as dependências necessárias estão devidamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Realizar Conversão 3D PDF com cURL e a API REST

A mesma operação pode ser executada via chamadas cURL contra os endpoints REST do Aspose.Words Cloud.

  1. Obtenha um token de acesso (substitua os marcadores de posição pelas suas credenciais).
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. Carregue o DOCX contendo o modelo 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
  1. Solicitar conversão de PDF com preservação 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
  1. Baixe o PDF resultante (o comando anterior já o salvou localmente, mas você também pode buscá‑lo diretamente).

Para mais detalhes sobre os corpos de requisição e parâmetros adicionais, veja a documentação oficial da API.

Considerações de Implantação para Geração de PDF 3D

Ao integrar esta solução em um ambiente de produção, tenha em mente os seguintes pontos:

  • Localização do Servidor - A conversão é executada nos servidores de nuvem da Aspose, portanto, certifique‑se de que sua rede permite tráfego HTTPS de saída para api.aspose.cloud.
  • Licenciamento - É necessária uma licença comercial para uso em produção. Você pode começar com uma licença temporária na página de licença temporária.
  • Escalabilidade - Como a API é sem estado, você pode paralelizar uploads e conversões em várias instâncias de worker para lidar com lotes de alto volume, suportando a Automação de 3D para PDF.

Conclusão

Gerar PDF 3D interativo em C# torna‑se simples com o Aspose.Words Cloud SDK for .NET. Seguindo os passos acima, você pode incorporar modelos U3D ou PRC, preservá‑los durante a conversão para PDF e automatizar o fluxo de trabalho usando a biblioteca .NET ou chamadas REST diretas. Lembre‑se de adquirir uma licença adequada para produção e de testar os PDFs gerados em um visualizador que suporte 3D, como o Adobe Acrobat. Com essa capacidade, você pode entregar documentos mais ricos e envolventes para cenários de engenharia, marketing e treinamento.

Perguntas Frequentes

Como gerar um PDF 3D interativo em C# usando Aspose.Words Cloud?
Use o SDK para enviar um DOCX que já contém um modelo U3D ou PRC, configure PdfSaveOptionsData para manter os fluxos 3D e chame ConvertDocumentAsync. O exemplo de código completo neste artigo mostra a sequência exata.

Quais formatos de modelo 3D posso incorporar para a conversão de PDF?
Aspose.Words Cloud suporta os formatos U3D e PRC, que são os formatos padrão para conteúdo 3D interativo em PDFs.

É possível executar a conversão sem escrever nenhum código C#?
Sim, o mesmo processo pode ser realizado com comandos cURL contra a Aspose.Words Cloud REST API, como demonstrado na seção cURL.

Onde posso encontrar informações de preços e licenciamento?
Os detalhes de licenciamento comercial estão disponíveis na página do produto, e você pode obter uma licença temporária para avaliação na página de licença temporária.

Read More