วิธีสร้างตัวอย่างภาพใน .NET ด้วย GroupDocs.Annotation

การสร้างประสบการณ์ วิธีสร้างตัวอย่างภาพ เป็นหัวใจสำคัญของแอปพลิเคชันที่เน้นเอกสารสมัยใหม่ ด้วย GroupDocs.Annotation สำหรับ .NET คุณสามารถเรนเดอร์ภาพย่อ PDF, สร้างสตรีมตัวอย่างเอกสารที่ปลอดภัย, และทำให้ส่วนติดต่อผู้ใช้ตอบสนองได้เร็วแม้บนอุปกรณ์มือถือ ในคู่มือนี้คุณจะได้ค้นพบว่าการสร้างตัวอย่างมีความสำคัญอย่างไร, สำรวจสถานการณ์การใช้งานทั่วไป, และได้รับแผนงานสำหรับการเพิ่มตัวอย่างคุณภาพสูงในโซลูชันของคุณ

คำตอบเร็ว

AnnotationApi class เป็นส่วนประกอบหลักของ GroupDocs.Annotation ที่โหลดเอกสารและสร้างภาพตัวอย่าง GetPages method คืนค่าภาพหน้าที่เรนเดอร์เป็นอาร์เรย์ของไบต์ HideAnnotations flag จะลบชั้น annotation ทั้งหมดออกจากภาพที่เรนเดอร์

  • วิธีที่เร็วที่สุดในการเรนเดอร์ภาพย่อ PDF คืออะไร? โหลด PDF ด้วย AnnotationApi, ตั้งค่า DPI = 150, และเรียก GetPages – หน้าหนึ่งแรกจะถูกส่งกลับเป็น PNG ภายในเวลาน้อยกว่า 200 ms สำหรับไฟล์ขนาด 2 MB.
  • ฉันสามารถซ่อน annotation ทั้งหมดในตัวอย่างได้หรือไม่? ใช่ – ใช้ HideAnnotations flag ก่อนการเรนเดอร์เพื่อสร้างมุมมองที่สะอาด.
  • การสร้างตัวอย่างปลอดภัยต่อการทำงานหลายเธรดหรือไม่? API ไม่มีสถานะ; คุณสามารถรันงานสร้างตัวอย่างหลายงานพร้อมกันได้อย่างปลอดภัย.
  • ฉันต้องมีลิขสิทธิ์สำหรับการใช้งานในผลิตภัณฑ์หรือไม่? ต้องมีลิขสิทธิ์ GroupDocs.Annotation ที่ถูกต้องสำหรับการสร้างตัวอย่างไม่จำกัด.
  • เวอร์ชัน .NET ใดที่รองรับ? .NET Framework 4.6+, .NET Core 3.1+, .NET 5/6/7.

ตัวอย่างเอกสารคืออะไร?

ตัวอย่างเอกสารคือการแสดงภาพที่มีน้ำหนักเบาของไฟล์—โดยทั่วไปเป็นภาพหรือชุดของภาพ—ที่ทำให้ผู้ใช้สามารถมองเนื้อหาโดยไม่ต้องดาวน์โหลดเอกสารเต็มรูปแบบ มันช่วยปรับปรุง UX, ลดการใช้แบนด์วิธ, และเพิ่มชั้นความปลอดภัยโดยเปิดเผยเฉพาะสิ่งที่คุณกำหนดให้เรนเดอร์

ทำไมต้องใช้ตัวอย่างเอกสารที่ปลอดภัย?

ตัวอย่างเอกสารที่ปลอดภัยรับประกันว่าข้อมูลเมตาดาต้าที่สำคัญ, ชั้นที่ซ่อนอยู่, หรือ annotation ที่จำกัดจะไม่ออกจากเซิร์ฟเวอร์ GroupDocs.Annotation จะเข้ารหัสสตรีมตัวอย่างและลบ markup ใด ๆ ที่คุณไม่ได้อนุญาตอย่างชัดเจน, ให้คุณควบคุมอย่างเต็มที่ว่าผู้ใช้สุดท้ายจะเห็นอะไร คำอ้างอิงเชิงปริมาณ: ไลบรารีรองรับ 30+ รูปแบบไฟล์ และสามารถสร้างตัวอย่างสำหรับ PDF ขนาด 500 หน้าในเวลาน้อยกว่า 2 วินาที บนเซิร์ฟเวอร์ 8‑core มาตรฐานเมื่อใช้ DPI เริ่มต้นที่ 150

วิธีเรนเดอร์ภาพย่อ PDF?

โหลด PDF ด้วย AnnotationApi, ระบุ DPI ที่ 150‑300 เพื่อให้ข้อความคมชัด, และขอหน้าหนึ่งแรกเป็น PNG วิธีการสองขั้นตอนนี้จะคืนค่าอาร์เรย์ของไบต์ที่คุณสามารถสตรีมโดยตรงไปยังเบราว์เซอร์หรือแคชบนดิสก์ การใช้ DPI สูงกว่า (เช่น 300) จะทำให้เอกสารที่มีข้อความมากอ่านง่ายขึ้น, ในขณะที่ DPI ต่ำกว่า (เช่น 72) จะลดขนาดไฟล์สำหรับกริดภาพย่อ

ข้อกำหนดเบื้องต้น

  • .NET Framework 4.6+ หรือ .NET Core 3.1+ ที่ติดตั้งแล้ว.
  • ลิขสิทธิ์ GroupDocs.Annotation ที่ถูกต้อง (ลิขสิทธิ์ชั่วคราวใช้สำหรับการประเมินผล).
  • เข้าถึงไฟล์ PDF, Word, Excel หรือไฟล์ที่รองรับอื่น ๆ ที่คุณต้องการสร้างตัวอย่าง.

วิธีสร้างตัวอย่างขั้นตอนต่อขั้นตอน

เพื่อสร้างตัวอย่างคุณต้องติดตั้งแพ็กเกจ GroupDocs.Annotation, เริ่มต้น API ด้วยลิขสิทธิ์ของคุณ, กำหนดค่าตัวเลือกการสร้างตัวอย่าง, สร้างภาพ, และอาจแคชผลลัพธ์ ส่วนต่อไปนี้จะอธิบายแต่ละขั้นตอนพร้อมตัวอย่างโค้ด, แสดงวิธีซ่อน annotation, ตั้งค่า DPI, และจัดการไฟล์ขนาดใหญ่อย่างมีประสิทธิภาพ

ขั้นตอน 1: ติดตั้งแพคเกจ NuGet

เปิด Package Manager Console ของโปรเจคและรัน:

Install-Package GroupDocs.Annotation

ขั้นตอน 2: เริ่มต้น API

สร้างอินสแตนซ์ AnnotationApi, ส่งพาธไฟล์ลิขสิทธิ์และการกำหนดค่าเพิ่มเติม (เช่น โฟลเดอร์แคช, ขีดจำกัดหน่วยความจำ).

var config = new AnnotationConfig
{
    LicensePath = "GroupDocs.Annotation.lic",
    CacheFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Cache")
};
var annotationApi = new AnnotationApi(config);

ขั้นตอน 3: สร้างตัวอย่างโดยไม่มี annotation

ตั้งค่า HideAnnotations flag เป็น true, เลือก DPI ที่ต้องการ, และขอหน้า(ๆ)ที่คุณต้องการ.

var previewOptions = new PreviewOptions
{
    HideAnnotations = true,
    Dpi = 150,
    OutputFormat = PreviewOutputFormat.Png,
    PageNumbers = new[] { 1 }   // first page only for thumbnail
};

byte[] previewBytes = annotationApi.GetPreview("sample.pdf", previewOptions);
File.WriteAllBytes("sample_thumb.png", previewBytes);

GetPreview call คืนค่าอาร์เรย์ของไบต์ที่คุณสามารถส่งโดยตรงไปยัง HTTP response, เก็บใน CDN, หรือฝังในคอมโพเนนต์ UI.

ขั้นตอน 4: แคชและใช้ตัวอย่างซ้ำ

เพื่อหลีกเลี่ยงการสร้างตัวอย่างเดียวกันซ้ำหลายครั้ง, เก็บภาพโดยใช้แฮชของไฟล์ต้นฉบับและการตั้งค่าตัวอย่างเป็นคีย์แคช. เมื่อเอกสารต้นฉบับเปลี่ยนแปลง, ทำให้แคชไม่ถูกต้องโดยเปรียบเทียบ timestamp.

string cacheKey = $"{Path.GetFileNameWithoutExtension(filePath)}_{previewOptions.Dpi}_{previewOptions.HideAnnotations}";

ขั้นตอน 5: จัดการเอกสารขนาดใหญ่อย่างมีประสิทธิภาพ

สำหรับไฟล์ที่ใหญ่กว่า 100 MB, ใช้บล็อก using เพื่อให้แน่ใจว่า AnnotationApi ปิดสตรีมภายในอย่างรวดเร็ว. ประมวลผลหน้าตามชุดถ้าต้องการตัวอย่างหลายหน้า, ปล่อยแต่ละชุดก่อนย้ายไปยังชุดถัดไป.

สถานการณ์การใช้งานทั่วไป

  • ระบบจัดการเอกสาร – แสดงกริดของภาพย่อสำหรับการนำทางด้วยภาพอย่างรวดเร็ว.
  • แพลตฟอร์มการทำงานร่วมกัน – เรนเดอร์มุมมองเฉพาะตัวอย่างสำหรับผู้ตรวจสอบ, จากนั้นอนุญาตให้เปิด/ปิดชั้น annotation ตามต้องการ.
  • พอร์ทัลเว็บ – แสดงตัวอย่างเมื่อชี้เมาส์บนลิงก์ไฟล์, ลดความจำเป็นในการดาวน์โหลดเต็ม.
  • แอปมือถือ – สร้าง PNG ความละเอียดต่ำ (72 DPI) เพื่อให้การใช้แบนด์วิธต่ำกว่า 50 KB ต่อหน้า.

การแก้ไขปัญหาการสร้างตัวอย่าง

  • การเพิ่มขึ้นของหน่วยความจำกับ PDF ขนาดใหญ่ – ตรวจสอบให้แน่ใจว่าเรียก Dispose() บน AnnotationApi หลังจากแต่ละชุดตัวอย่าง, และจำกัดจำนวนงานสร้างตัวอย่างพร้อมกัน.
  • ข้อความเบลอในภาพย่อ – เพิ่ม DPI เป็น 300 หรือเปลี่ยนรูปแบบผลลัพธ์เป็น PNG; การบีบอัด JPEG อาจทำให้ตัวอักษรบางเบา.
  • ภาพหายในตัวอย่าง Excel – ตรวจสอบให้แน่ใจว่าอ็อบเจ็กต์แผนภูมิของเวิร์กบุ๊กโหลดเต็มที่โดยตั้งค่า LoadCharts = true ในตัวเลือกการสร้างตัวอย่าง.
  • เวลาตอบสนองช้า – ย้ายการสร้างตัวอย่างไปยัง background worker (เช่น Task.Run) และให้ภาพ placeholder จนกว่าตัวอย่างจริงจะพร้อม.

คำถามที่พบบ่อย

Q: ฉันสามารถสร้างตัวอย่างสำหรับเอกสารที่ป้องกันด้วยรหัสผ่านได้หรือไม่?
A: ใช่. ให้รหัสผ่านใน LoadOptions เมื่อสร้างอินสแตนซ์ AnnotationApi; ตัวอย่างจะถูกสร้างหลังจากถอดรหัสสำเร็จ.

Q: ไลบรารีรองรับการเรนเดอร์ตัวอย่างสำหรับรูปแบบที่ไม่ใช่ PDF เช่น DOCX หรือ XLSX หรือไม่?
A: แน่นอน. GroupDocs.Annotation สามารถเรนเดอร์ตัวอย่างสำหรับรูปแบบต่าง ๆ มากกว่า 30 แบบ, รวมถึง DOCX, XLSX, PPTX, และหลายประเภทของภาพ.

Q: ฉันจะทำให้แน่ใจว่าตัวอย่างไม่เปิดเผยเมตาดาต้าที่ซ่อนอยู่ได้อย่างไร?
A: ใช้ตัวเลือก HideMetadata ใน PreviewOptions; API จะลบคุณสมบัติของเอกสารทั้งหมดก่อนการเรนเดอร์ภาพ.

Q: ปลอดภัยหรือไม่ที่จะเปิดเผย endpoint ของตัวอย่างต่อสาธารณะ?
A: สตรีมตัวอย่างถูกสร้างบนเซิร์ฟเวอร์และสามารถส่งผ่าน HTTPS. ควรผสานกับการยืนยันตัวตนแบบ token เพื่อจำกัดการเข้าถึงให้กับผู้ใช้ที่ได้รับอนุญาตเท่านั้น.

Q: นโยบายการหมดอายุของแคชที่แนะนำคืออะไร?
A: แคชตัวอย่างตลอดอายุของเวอร์ชันเอกสารต้นฉบับ. เมื่อ timestamp การแก้ไขล่าสุดของเอกสารเปลี่ยน, ทำให้แคชภาพไม่ถูกต้องและสร้างใหม่.

แหล่งข้อมูลเพิ่มเติม


อัปเดตล่าสุด: 2026-08-09
ทดสอบด้วย: GroupDocs.Annotation 23.10 for .NET
ผู้เขียน: GroupDocs

บทเรียนที่เกี่ยวข้อง