ตัวดู DOCX ใน ASP.NET Core: แสดงตัวอย่างไฟล์ Word
← Back to Blog••2 min read

ตัวดู DOCX ใน ASP.NET Core: แสดงตัวอย่างไฟล์ Word

เพื่อแสดงตัวอย่างเอกสาร Word ภายในแอปพลิเคชัน ASP.NET Core ให้ใช้ SDK ตัวดู DOCX ที่เรนเดอร์ไฟล์บนเซิร์ฟเวอร์และแสดงหน้าของไฟล์ในเบราว์เซอร์ Doconut ให้เวิร์กโฟลว์นี้โดยไม่ต้องใช้ Microsoft Word บนเซิร์ฟเวอร์ ผู้ใช้ของคุณสามารถอ่านสัญญา, ข้อเสนอ, หรือรายงานภายในแอปพลิเคชันของคุณแทนการเปิดโปรแกรมเดสก์ท็อปแยกต่างหาก

รายงานสีไอวอรีที่มีตารางและแผนภูมิขยายออกจากโฟลเดอร์สีน้ำเงินเข้ากรอบการดูแบบกระจกใส
รายงานสีไอวอรีที่มีตารางและแผนภูมิขยายออกจากโฟลเดอร์สีน้ำเงินเข้ากรอบการดูแบบกระจกใส

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

เปิดไฟล์ DOCX ด้วย C#

เริ่มต้นด้วย Doconut .NET 8 quick start เพื่อกำหนดค่าบริการ, เซสชัน ASP.NET, มิดเดิลแวร์เอกสาร, ทรัพยากรตัวดู, และวิดเจ็ตเบราว์เซอร์ จุดเชื่อมต่อต่อไปนี้ขยายแอปพลิเคชันที่กำหนดค่าไว้; ไม่ใช่แอปพลิเคชันสแตนด์อโลนที่สมบูรณ์

วางเอกสารทดสอบที่ไม่มีข้อมูลสำคัญที่ App_Data/Sample.docx ใต้รากเนื้อหาแอปพลิเคชัน เพิ่มจุดเชื่อมต่อนี้ก่อน app.Run():

using Doconut;

app.MapPost("/api/preview-word", async (
    Viewer viewer,
    IWebHostEnvironment environment) =>
{
    var filePath = Path.Combine(
        environment.ContentRootPath, "App_Data", "Sample.docx");

    if (!File.Exists(filePath))
        return Results.NotFound();

    var token = await viewer.OpenDocumentAsync(filePath);
    return Results.Ok(new { token });
});

เก็บคำสั่ง using ไว้กับการนำเข้าอื่น ๆ ที่ด้านบนของ Program.cs เส้นทางคงที่ทำให้ตัวอย่างง่ายต่อการทำซ้ำและหลีกเลี่ยงการรับเส้นทางเซิร์ฟเวอร์แบบสุ่มจากเบราว์เซอร์

Viewer API reference อธิบายการโอเวอร์โหลดไฟล์พาธของ OpenDocumentAsync มันเปิดไฟล์และคืนโทเค็นเซสชันของเอกสาร ในหน้าที่ quick start ได้เริ่มต้น objViewer ไว้แล้ว ให้เปิดตัวอย่างด้วย:

async function previewWordDocument() {
    const response = await fetch('/api/preview-word', {
        method: 'POST'
    });

    if (!response.ok) {
        throw new Error('The Word preview could not be opened.');
    }

    const { token } = await response.json();
    objViewer.View(token);
}

เรียกฟังก์ชันนี้จากการกระทำแสดงตัวอย่างของหน้าของคุณและแสดงข้อผิดพลาดใด ๆ ผ่าน UI ข้อผิดพลาดที่มีอยู่ของแอปพลิเคชัน รักษาคำขอให้อยู่ในต้นทางแอปพลิเคชันเดียวกับตัวดูในตัวอย่างนี้

ควบคุมการเข้าถึงเอกสารภายใต้การควบคุมของแอปพลิเคชัน

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

เก็บต้นฉบับที่ได้รับการปกป้องไว้ไกลออกจากรากเว็บสาธารณะ โฟลเดอร์ App_Data ของตัวอย่างเป็นแนวปฏิบัติการจัดเก็บ ไม่ใช่ฟีเจอร์การควบคุมการเข้าถึง: อย่าเปิดเผยผ่านการแมปไฟล์สถิตย์ เก็บการตรวจสอบสิทธิ์และสิทธิ์เอกสารไว้ในแอปโฮสต์

เบราว์เซอร์จะได้รับโทเค็นการดูสำหรับเซสชันเอกสาร ปฏิบัติโทเค็นนั้นเป็นข้อมูลประจำตัวแทนการใช้ URL เอกสารถาวร Quick start ยังครอบคลุมการปิดเอกสารเมื่อผู้อ่านออกหรือเปิดไฟล์อื่น

ทดสอบการจัดวาง Word ด้วยไฟล์ตัวอย่างที่เป็นตัวแทน

DOCX ที่ว่างเปล่าให้ข้อมูลน้อยเกี่ยวกับเอกสารที่ลูกค้าใช้ สร้างชุดการประเมินขนาดเล็กจากเทมเพลตจริงที่แอปพลิเคชันของคุณต้องแสดง โดยลบข้อมูลที่ละเอียดออออก

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

เปรียบเทียบผลลัพธ์ที่เรนเดอร์กับเอกสารต้นฉบับที่ได้รับการอนุมัติ ตัดสินใจว่าความแตกต่างใดสำคัญต่อเวิร์กโฟลว์ของคุณก่อนทำการรวมระบบ

Doconut เปิดเผยการตั้งค่าการเรนเดอร์เฉพาะ Word ผ่าน WordConfig format configuration reference มี FontFolders สำหรับไดเรกทอรีฟอนต์เพิ่มเติม, การตั้งค่าขนาดกระดาษ, และ AutoFitAllTables สำหรับการปรับขนาดตาราง เปลี่ยนค่าเหล่านี้โดยเจตนา: การทำให้ตารางพอดีกับความกว้างที่มีอยู่อาจเปลี่ยนการจัดวางที่คุณพยายามรักษาไว้

ทำซ้ำการตรวจสอบบนโฮสต์การปรับใช้ ตัวอย่างที่ใช้ฟอนต์ที่ติดตั้งบนเครื่องของนักพัฒนาสามารถแสดงผลต่างกันเมื่อฟอนต์นั้นไม่มีบนเซิร์ฟเวอร์ ใช้ฟอนต์ที่องค์กรของคุณได้รับอนุญาตให้ปรับใช้

เลือกการดู, การแก้ไข, และการแปลงแยกกัน

การแสดงตัวอย่าง DOCX แก้ไขขั้นตอนการอ่าน ไม่ได้ทำให้แอปพลิเคชันของคุณกลายเป็นสภาพแวดล้อมการเขียน Word

  • การอ่าน: ใช้ตัวดูเมื่อผู้ใช้ต้องการตรวจสอบเอกสารที่มีอยู่ภายในกรณี, คำสั่งซื้อ, หรือบันทึกลูกค้า
  • การแก้ไข: หากผู้ใช้ต้องเขียนย่อหน้าใหม่และบันทึก DOCX ที่อัปเดต, ประเมินกระบวนการแก้ไขแยกต่างหาก. การแสดงตัวอย่างไฟล์ไม่ได้เป็นหลักฐานว่ามีการสนับสนุนการแก้ไข Word
  • การแปลง: หากความต้องการคือไฟล์ที่ดาวน์โหลดได้ในรูปแบบอื่น, ประเมินกระบวนการส่งออกแยกต่างหากจากการแสดงหน้า

Word viewer for .NET overview อธิบายเส้นทางการดูของตระกูล Word ของ Doconut ใช้มันเพื่อตรวจสอบความเหมาะสมของผลิตภัณฑ์ แล้วใช้ไฟล์ของคุณเองเพื่อประเมินพฤติกรรมการเรนเดอร์ที่สำคัญต่อแอปพลิเคชันของคุณ

ประเมินตัวดูด้วยเอกสารที่ยากที่สุดของคุณเป็นอันดับแรก

เริ่มต้นด้วยเอกสารที่ทำให้เกิดคำขอสนับสนุนอยู่แล้ว: สัญญายาว, รายงานที่มีตารางหนาแน่น, หรือเทมเพลตที่มีฟอนต์แปลกใหม่ ตรวจสอบตัวอย่าง, นำทางหลายหน้า, เปิดใหม่ในเซสชันสดใหม่, และยืนยันว่าการประยุกต์รอบข้างบังคับใช้สิทธิ์เอกสารที่ถูกต้อง

ดาวน์โหลด Doconut และรันตัวอย่าง .NET 8 ด้วยไฟล์นั้น การประเมินที่ประสบความสำเร็จควรแสดงให้เห็นว่าผู้ใช้สามารถอ่านเอกสารที่พวกเขาได้รับจริง ๆ ได้, ด้วยการจัดวางที่ทีมของคุณได้ตรวจสอบและการรวมระบบที่แอปพลิเคชันของคุณสามารถดูแลได้.

#DOCX Viewer#ASP.NET Core#Word Documents#C##Document Preview#ตัวดู DOCX#เอกสาร Word#การแสดงตัวอย่างเอกสาร