การสร้างเอกสารที่ดื่มด่ำซึ่งให้ผู้ใช้หมุน, ซูม, และสำรวจโมเดลสามมิติโดยตรงภายใน PDF เป็นวิธีที่ทรงพลังในการเพิ่มคุณค่าให้กับแคตาล็อกสินค้า, รายงานวิศวกรรม, และคู่มือการฝึกอบรม. Aspose.Words Cloud SDK for .NET ให้ไลบรารีบนคลาวด์ที่ทำให้การฝังและรักษาเนื้อหา 3D ได้อย่างง่ายดายเมื่อแปลงไฟล์ DOCX เป็น PDF. ในคู่มือนี้คุณจะได้เรียนรู้วิธีสร้าง PDF 3D แบบโต้ตอบใน C#, ดูตัวอย่างโค้ดเต็ม, สำรวจการเรียก REST แบบ cURL ที่เทียบเท่า, และเข้าใจข้อพิจารณาการปรับใช้สำหรับแอปพลิเคชันในโลกจริง.

ความต้องการของสถานการณ์การสร้าง PDF 3 มิติ

นักพัฒนาที่สร้างพอร์ทัลวิศวกรรมหรือโบรชัวร์ผลิตภัณฑ์แบบโต้ตอบมักต้องการส่งมอบ PDF ที่มีโมเดล 3 มิติฝังอยู่ ความต้องการทั่วไปคือ:

  • เอกสารต้นฉบับต้องเป็นไฟล์ DOCX ที่มีโมเดล 3 มิติในรูปแบบ U3D หรือ PRC อยู่แล้ว
  • PDF ที่ได้ต้องคงข้อมูล 3 มิติไว้เพื่อให้โปรแกรมดูเช่น Adobe Acrobat สามารถแสดงผลแบบโต้ตอบได้
  • กระบวนการแปลงควรเป็นอัตโนมัติ ทำงานบนเซิร์ฟเวอร์ และรองรับการประมวลผลเป็นชุดใหญ่โดยไม่ต้องมีการแทรกแซงจากผู้ใช้

เครื่องมือเดสก์ท็อปแบบดั้งเดิมไม่สามารถสคริปต์ได้อย่างน่าเชื่อถือในสภาพแวดล้อมคลาวด์ และมักจะลบสตรีม 3D ออกระหว่างการแปลง โซลูชันแบบโปรแกรมที่คงรักษาโมเดล 3D ไว้พร้อมกับการปฏิบัติตามมาตรฐาน PDF/A จึงเป็นสิ่งจำเป็น

แนวทาง: การใช้ Aspose.Words Cloud สำหรับ PDF 3 มิติ

Aspose.Words Cloud SDK for .NET มีชุดของการดำเนินการแบบ REST‑based ที่ทำงานบนเซิร์ฟเวอร์ที่ปลอดภัยของ Aspose. ความสามารถหลักที่ตอบสนองต่อสถานการณ์ได้แก่:

  • อัปโหลดไฟล์ DOCX โดยตรงไปยัง Aspose Cloud storage.
  • PdfSaveOptionsData ที่ช่วยให้คุณควบคุมการปฏิบัติตามมาตรฐาน PDF, การอัปเดตฟิลด์, และที่สำคัญคือการรักษาเนื้อหา 3D ที่ฝังอยู่.
  • วิธีการแปลงแบบอะซิงโครนัสที่คืนค่าเป็นสตรีม, ทำให้คุณสามารถเขียนไฟล์ผลลัพธ์โดยตรงไปยังดิสก์.

ร่วมกันคุณสมบัติเหล่านี้ทำให้สามารถสร้างกระบวนการทำงาน 3D ไปเป็น PDF ที่เรียบง่ายและสามารถผสานรวมเข้ากับสายงาน CI, บริการเว็บ หรือ งานเบื้องหลังได้ รายละเอียดข้อมูล API มีให้ใน เอกสารอย่างเป็นทางการ และ อ้างอิง API.

สร้าง PDF 3 มิติแบบโต้ตอบใน C#: การทำงาน

ด้านล่างเป็นการอธิบายขั้นตอนโดยละเอียดของการดำเนินการ แต่ละขั้นตอนรวมถึงตัวอย่างโค้ดสั้นที่นำมาจากตัวอย่างเต็มโดยตรง.

ติดตั้ง Aspose.Words Cloud SDK for .NET

ขั้นแรก ให้เพิ่มแพ็กเกจ NuGet ไปยังโครงการของคุณ.

dotnet add package Aspose.Words-Cloud

คุณยังสามารถดาวน์โหลดไฟล์ไบนารีจาก หน้าดาวน์โหลด.

กำหนดค่า WordsApi Client

สร้างอ็อบเจกต์ Configuration ด้วยข้อมูลรับรองของไคลเอนต์ของคุณและสร้างอินสแตนซ์ WordsApi.

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

คลาส WordsApi ถูกบันทึกไว้ใน อ้างอิง API.

อัปโหลดไฟล์ DOCX ที่มีโมเดล 3D ฝังอยู่

เปิดไฟล์ DOCX ในเครื่องและอัปโหลดไปยังที่เก็บข้อมูล Aspose Cloud โดยเขียนทับไฟล์ที่มีชื่อเดียวกันที่มีอยู่แล้ว

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

ตรวจสอบให้แน่ใจว่า DOCX มีโมเดล U3D หรือ PRC อยู่แล้ว; นี่คือ 3D Model Format ที่ SDK รักษาไว้.

ตั้งค่าตัวเลือกการบันทึก PDF เพื่อรักษาเนื้อหา 3D

กำหนดค่า PdfSaveOptionsData เพื่อเก็บสตรีม 3D และใช้การปฏิบัติตาม PDF/A‑1b.

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

ตัวเลือกเหล่านี้เป็นส่วนหนึ่งของ 3D to PDF Workflow ที่ทำให้โมเดลเชิงโต้ตอบคงอยู่อย่างสมบูรณ์

แปลงและดาวน์โหลดไฟล์ PDF 3 มิติแบบโต้ตอบ

เรียกใช้คำขอการแปลงและเขียนสตรีมที่ได้ไปยังไฟล์ PDF ในเครื่อง

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

หลังจากการแปลง คุณสามารถลบไฟล์ชั่วคราวจากที่เก็บข้อมูลบนคลาวด์ได้ตามต้องการ

ตัวอย่างโค้ดเต็ม: การสร้าง PDF 3 มิติแบบโต้ตอบใน C#

โค้ดต่อไปนี้แสดงกระบวนการทั้งหมดตั้งแต่เริ่มต้นจนจบ.

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

หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลักของฟังก์ชัน ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์ (input.docx, output.pdf, เป็นต้น) ให้ตรงกับตำแหน่งไฟล์จริงของคุณ ตรวจสอบว่าการพึ่งพาทั้งหมดได้ติดตั้งอย่างถูกต้องแล้ว และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ

ทำการแปลง PDF 3 มิติด้วย cURL และ REST API

การดำเนินการเดียวกันสามารถทำได้ผ่านการเรียก cURL ไปยังจุดสิ้นสุด REST ของ Aspose.Words Cloud.

  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. อัปโหลด DOCX ที่มีโมเดล 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. ขอแปลง PDF พร้อมการรักษา 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. ดาวน์โหลด PDF ที่ได้ผล (คำสั่งก่อนหน้านี้ได้บันทึกไว้ในเครื่องแล้ว แต่คุณก็สามารถดึงมันโดยตรงได้).

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ request bodies และพารามิเตอร์เพิ่มเติม, ดู เอกสาร API อย่างเป็นทางการ.

การพิจารณาการปรับใช้สำหรับการสร้าง PDF 3 มิติ

เมื่อผสานโซลูชันนี้เข้ากับสภาพแวดล้อมการผลิต โปรดคำนึงถึงประเด็นต่อไปนี้:

  • Server Location - การแปลงทำงานบนเซิร์ฟเวอร์คลาวด์ของ Aspose ดังนั้นต้องตรวจสอบว่าเครือข่ายของคุณอนุญาตการจราจร HTTPS ขาออกไปยัง api.aspose.cloud.
  • Licensing - จำเป็นต้องมีใบอนุญาตเชิงพาณิชย์สำหรับการใช้งานในสภาพแวดล้อมการผลิต คุณสามารถเริ่มต้นด้วยใบอนุญาตชั่วคราวจาก หน้าลิขสิทธิ์ชั่วคราว.
  • Scalability - เนื่องจาก API ไม่มีสถานะ คุณสามารถทำการอัปโหลดและแปลงแบบขนานบนหลายอินสแตนซ์ของ worker เพื่อจัดการกับชุดข้อมูลขนาดใหญ่ รองรับ 3D to PDF Automation อย่างเต็มรูปแบบ.

สรุป

การสร้าง PDF 3 มิติแบบโต้ตอบใน C# กลายเป็นเรื่องง่ายด้วย Aspose.Words Cloud SDK for .NET. โดยการทำตามขั้นตอนข้างต้นคุณสามารถฝังโมเดล U3D หรือ PRC, รักษาโมเดลเหล่านั้นไว้ระหว่างการแปลงเป็น PDF, และอัตโนมัติขั้นตอนทำงานด้วยไลบรารี .NET หรือการเรียก REST โดยตรง. อย่าลืมจัดหาลิขสิทธิ์ที่เหมาะสมสำหรับการใช้งานในผลิตภัณฑ์และทดสอบ PDF ที่สร้างขึ้นในโปรแกรมดูที่รองรับ 3D เช่น Adobe Acrobat. ด้วยความสามารถนี้คุณสามารถส่งมอบเอกสารที่สมบูรณ์และน่าสนใจยิ่งขึ้นสำหรับวิศวกรรม การตลาด และการฝึกอบรม.

FAQs

ฉันจะสร้าง PDF 3 มิติแบบโต้ตอบใน C# โดยใช้ Aspose.Words Cloud ได้อย่างไร?
ใช้ SDK เพื่ออัปโหลดไฟล์ DOCX ที่มีโมเดล U3D หรือ PRC อยู่แล้ว, กำหนดค่า PdfSaveOptionsData เพื่อเก็บสตรีม 3D, และเรียก ConvertDocumentAsync. ตัวอย่างโค้ดเต็มในบทความนี้แสดงลำดับขั้นตอนที่แน่นอน.

ฉันสามารถฝังรูปแบบโมเดล 3D ใดสำหรับการแปลงเป็น PDF?
Aspose.Words Cloud รองรับรูปแบบ U3D และ PRC ซึ่งเป็นรูปแบบมาตรฐานสำหรับเนื้อหา 3D เชิงโต้ตอบใน PDF

สามารถทำการแปลงได้โดยไม่ต้องเขียนโค้ด C# หรือไม่?
ใช่, กระบวนการเดียวกันสามารถทำได้ด้วยคำสั่ง cURL ต่อ Aspose.Words Cloud REST API ตามที่แสดงในส่วน cURL

ฉันจะหาข้อมูลการกำหนดราคาและการออกใบอนุญาตได้จากที่ไหน?
รายละเอียดการออกใบอนุญาตเชิงพาณิชย์สามารถดูได้บนหน้าผลิตภัณฑ์ และคุณสามารถรับใบอนุญาตชั่วคราวเพื่อการประเมินจาก หน้าใบอนุญาตชั่วคราว

Read More