มีอะไรใหม่ในรุ่นนี้

คีย์ ประเภท สรุป
CONVERSIONNET-8437 ฟีเจอร์ เพิ่มรูปแบบไฟล์ Drawio เป็นเป้าหมายการแปลงสำหรับเอกสาร Diagram
CONVERSIONNET-8442 ฟีเจอร์ เพิ่มรูปแบบไฟล์ Mermaid MMD เป็นแหล่งข้อมูลการแปลงสำหรับเอกสาร Diagram
CONVERSIONNET-8445 ฟีเจอร์ เพิ่ม CAB เป็นเป้าหมายการแปลงสำหรับเอกสารบีบอัด
CONVERSIONNET-8459 ฟีเจอร์ เพิ่ม CadLayoutScope ไปยัง CadLoadOptions เพื่อแปลง model space, paper layouts หรือทั้งสองอย่าง
CONVERSIONNET-8464 ฟีเจอร์ เพิ่ม XAR เป็นแหล่งและเป้าหมายการแปลงสำหรับเอกสารบีบอัด
CONVERSIONNET-8460 การปรับปรุง แปลงแต่ละ layout ของ CAD ให้เป็นสไลด์, worksheet, หน้า Word, รูปภาพ HTML/MHTML และพื้นที่ SVG ของตนเอง
CONVERSIONNET-8461 การปรับปรุง ระบุชื่อ layout ที่หายไปเมื่อการเลือก layout ของ CAD ไม่ตรงกับใดเลย
CONVERSIONNET-8462 การปรับปรุง รายงาน LoadOptions.Format ที่ไม่ได้ตั้งค่าเป็นไม่มีค่าแทนการโยนข้อยกเว้น
CONVERSIONNET-8361 บั๊ก รูปร่าง DOCX ที่มีเส้นขอบแสดงผลไม่ถูกต้องเมื่อแปลงเป็น PDF
CONVERSIONNET-8396 บั๊ก การแปลงไฟล์ Presentation เป็น PDF ทำให้ส่วนหัว/ส่วนท้ายไม่สอดคล้อง
CONVERSIONNET-8399 บั๊ก การแปลงไฟล์ Presentation ที่มีลิงก์สรุปเสียทำให้เกิด GroupDocsConversionException
CONVERSIONNET-8426 บั๊ก การแปลงไฟล์ DWG เป็น PDF ตามการตั้งค่าการวางแนวของแผ่นแต่ละหน้า
CONVERSIONNET-8427 บั๊ก แก้ไข NullReferenceException เมื่อแปลงภาพ CAD ที่ไม่มี layout ที่ใช้งาน
CONVERSIONNET-8428 บั๊ก แก้ไขการแปลงหน่วยสองครั้งเมื่อกำหนดขนาดหน้าที่ชัดเจนสำหรับการแปลง CAD
CONVERSIONNET-8429 บั๊ก แก้ไขการแปลง CAD เป็น PDF/UA ที่ละเลย CadLoadOptions
CONVERSIONNET-8430 บั๊ก แก้ไข CadDocumentInfo รายงานหนึ่งหน้าสำหรับเอกสาร CAD ที่มีหลาย layout
CONVERSIONNET-8444 บั๊ก ปัญหาเกี่ยวกับภาพย่อในสภาพแวดล้อม Linux สำหรับ GroupDocs.Conversion
CONVERSIONNET-8467 บั๊ก EML ไป PDF: ข้อยกเว้นประเภทหน่วยที่ไม่เข้ากัน

การเปลี่ยนแปลง API สาธารณะ

⚠️ การเปลี่ยนแปลงที่ไม่เข้ากันย้อนหลัง – การอัปเดตต่อไปนี้แก้ไขพฤติกรรมสาธารณะที่มีอยู่ ปรับโค้ดของคุณให้สอดคล้องเพื่อหลีกเลี่ยงข้อผิดพลาดขณะรัน

1. LoadOptions.Format ตอนนี้คืนค่า null แทนการโยนข้อยกเว้นเมื่อรูปแบบยังไม่ได้ตั้งค่า

คลาสที่ได้รับผลกระทบ: ตัวเลือกการโหลดที่มีประเภททั้งหมด 28 ตัว (เช่น SpreadsheetLoadOptions, PdfLoadOptions, CadLoadOptions, …)

สิ่งที่เปลี่ยนแปลง
การอ่านคุณสมบัติ Format ก่อนที่รูปแบบจะถูกกำหนดเคยทำให้เกิดข้อยกเว้น ตอนนี้คืนค่า null ทำให้สามารถตรวจสอบ null ได้อย่างง่ายดาย

ตัวอย่างการย้าย

var loadOptions = new SpreadsheetLoadOptions();

if (loadOptions.Format == null)
{
    // New code path – previously unreachable because the getter threw.
}

คำแนะนำ
แทนที่ try/catch ใด ๆ รอบ loadOptions.Format ด้วยการตรวจสอบ null. ห้ามเปรียบเทียบกับ FileType.Unknown; การทดสอบที่ถูกต้องคือ == null.


2. การตรวจสอบแบบตรงตัวสำหรับ CadLoadOptions.LayoutNames พร้อมการรายงานข้อผิดพลาดอย่างละเอียด

คลาสที่ได้รับผลกระทบ: CadLoadOptions

สิ่งที่เปลี่ยนแปลง
LayoutNames ตอนนี้จะจับคู่ อย่างตรงตัว (แยกแยะตัวพิมพ์) กับชื่อ layout ของภาพวาด หากไม่มีการจับคู่ การแปลงจะล้มเหลวด้วย InvalidLoadOptionsException ที่แสดงรายการ layout ที่มีและคำขอที่ไม่ตรงกัน

ตัวอย่างการย้าย

using GroupDocs.Conversion.Exceptions;

try
{
    using var converter = new Converter("drawing.dwg",
        ctx => new CadLoadOptions { LayoutNames = new[] { "layout1" } });
    converter.Convert("out.pdf", new PdfConvertOptions());
}
catch (InvalidLoadOptionsException ex)
{
    // Example message:
    // "No layout name in CadLoadOptions.LayoutNames matches this drawing, which carries
    //  Model, Layout1, Layout2. Requested: layout1. Names are matched exactly, so a name
    //  that differs only in case is a different name."
    Console.WriteLine(ex.Message);
}

คำแนะนำ

  • ตรวจสอบให้แน่ใจว่าชื่อ layout พิมพ์ถูกต้องและตรงกับตัวพิมพ์ที่ใช้ในภาพวาดต้นฉบับ.
  • เมื่อต้องการเพียงบางส่วนของ layout ให้ระบุชื่อที่ตรงกัน; รายการที่ไม่ตรงจะถูกละเว้นและ layout ที่ตรงกันยังคงถูกแสดงผล.

3. การวาด CAD แบบหลายแผ่นตอนนี้สร้างหน่วยผลลัพธ์หนึ่งต่อแผ่น

คลาสที่ได้รับผลกระทบ: Converter, PresentationConvertOptions, PdfConvertOptions

สิ่งที่เปลี่ยนแปลง
ก่อนหน้านี้ การแปลงภาพวาดที่มีหลาย layout ของ paper‑space จะให้ผลลัพธ์เป็นภาพ/สไลด์ หนึ่งเดียวที่แบน การแปลงตอนนี้สร้าง หน่วยผลลัพธ์แยกกัน (สไลด์, หน้า ฯลฯ) สำหรับแต่ละ layout โดยมีขนาดตามการตั้งค่าหน้าของ layout Converter.GetDocumentInfo().PagesCount แสดงจำนวนหน่วยที่สร้าง

ตัวอย่างการย้าย – การแปลง

using var converter = new Converter("multi-layout.dwg");

// Three sheets in, three slides out – previously one flattened slide.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

ตัวอย่างการย้าย – การสอบถามจำนวนหน้า

using var converter = new Converter("multi-layout.dwg");
int sheets = converter.GetDocumentInfo().PagesCount; // Returns 3 for three layouts

คำแนะนำ

  • ปรับการประมวลผลต่อ (เช่น การแบ่งหน้า UI, การตั้งชื่อไฟล์) ให้รองรับหลายไฟล์/หลายหน้า.
  • สำหรับภาพวาดที่มีแผ่นเดียว พฤติกรรมยังคงเหมือนเดิม.
  • ยกเว้นกรณี CAD → PDF/UA‑1 ที่ยังคงแสดงผลเป็นหน้าแท็กเดียว.

4. คุณสมบัติใหม่ CadLoadOptions.LayoutScope เพื่อควบคุมอย่างชัดเจนว่าพื้นที่ใดจะถูกแปลง

คลาสที่ได้รับผลกระทบ: CadLoadOptions

สิ่งที่เปลี่ยนแปลง
LayoutScope ให้คุณระบุว่าจะโหลด Model, Layouts, หรือ Both (ค่าเริ่มต้น).

  • เมื่อกำหนด LayoutNames แล้ว LayoutScope จะถูกละเลยเนื่องจากชื่อที่ระบุโดยตรงมีลำดับความสำคัญสูงกว่า.
  • การเลือก scope ที่ทำให้ไม่มีแผ่นใดสำหรับภาพวาดที่มีอย่างน้อยหนึ่งแผ่น จะทำให้เกิด InvalidLoadOptionsException แทนการแสดงพื้นที่เริ่มต้นโดยเงียบ.

ตัวอย่างการย้าย – แปลงเฉพาะ layout ของ paper‑space

using GroupDocs.Conversion;
using GroupDocs.Conversion.Options.Convert;
using GroupDocs.Conversion.Options.Load;

using var converter = new Converter("drawing.dwg",
    ctx => new CadLoadOptions { LayoutScope = CadLayoutScope.Layouts });
converter.Convert("layouts.pdf", new PdfConvertOptions());

คำแนะนำ

  • โค้ดที่เคยพึ่งพาการเลือกแบ็กเอนด์โดยอัตโนมัติยังคงทำงานได้เนื่องจาก Both ยังคงเป็นค่าเริ่มต้น.
  • หากต้องการยกเว้น model space หรือรวมเฉพาะ model space ให้ตั้งค่า LayoutScope เป็น CadLayoutScope.Model หรือ CadLayoutScope.Layouts ตามลำดับ.
  • หากคุณเคยพยายามกรอง layout โดยให้ LayoutNames เป็นอาเรย์ว่าง ให้เปลี่ยนวิธีนั้นเป็นการใช้ค่า LayoutScope ที่เหมาะสมเพื่อให้ได้ข้อผิดพลาดที่ชัดเจนเมื่อไม่มีแผ่นใดถูกเลือก.

ฟีเจอร์ใหม่

การควบคุม Layout ของ CAD ขั้นสูง: เลือก layout ของ CAD เฉพาะ, แปลงแต่ละ layout ให้เป็นสไลด์, worksheet, หน้า, รูปภาพ หรือพื้นที่ SVG ของตนเอง, และเลือก model space, paper layouts หรือทั้งสองด้วย CadLayoutScope. สิ่งนี้ให้ผลลัพธ์ที่แม่นยำต่อ layout และเคารพการตั้งค่าเฉพาะแผ่นเช่นการวางแนวและขนาดหน้า.

การสนับสนุน Archive ที่ขยาย: รูปแบบ XAR และ CAB ตอนนี้พร้อมใช้เป็นทั้งแหล่งและเป้าหมายสำหรับเอกสารบีบอัด ทำให้การแปลงไปและกลับจากประเภท archive เหล่านี้เป็นไปอย่างราบรื่น.

ความสามารถร่วมกันของ Diagram สมัยใหม่: ไฟล์ Mermaid MMD สามารถใช้เป็นแหล่งข้อมูล diagram, และไฟล์ Drawio รองรับเป็นเป้าหมายการแปลง ทำให้ผสานเครื่องมือ diagram สมัยใหม่เข้ากับ pipeline การแปลงของคุณได้ง่าย.

การปรับปรุงเสถียรภาพสำคัญ: แก้ไขการล้มเหลวของการแปลง EML → PDF, เส้นขอบของรูปทรง DOCX, ส่วนหัว/ส่วนท้ายของ presentation และลิงก์สรุปที่เสีย, การสร้าง thumbnail บน Linux, และการจัดการการวางแนวของแผ่น DWG. การแก้ไขเหล่านี้เพิ่มความน่าเชื่อถือใน workflow ของอีเมล, office, presentation, และ CAD.

ตัวอย่างโค้ด

using var converter = new Converter("multi-layout.dwg");

// Three sheets in, three slides out – previously one flattened slide.
converter.Convert("drawing.pptx", new PresentationConvertOptions());

วิธีรับอัปเดต

NuGet

Install-Package GroupDocs.Conversion -Version 26.8

GroupDocs.Conversion 26.8 บน NuGet

ดาวน์โหลดโดยตรง

ไม่มีลิงก์ดาวน์โหลดโดยตรงที่ให้ไว้ในบันทึกการปล่อย.

แหล่งข้อมูล