มีอะไรใหม่ในรุ่นนี้
| คีย์ | ประเภท | สรุป |
|---|---|---|
| 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
ดาวน์โหลดโดยตรง
ไม่มีลิงก์ดาวน์โหลดโดยตรงที่ให้ไว้ในบันทึกการปล่อย.