// app/page.tsx (ระบบ B) 'use client'; import Link from "next/link"; import type { ChangeEvent } from 'react'; import DependentDropdown, { DropdownData } from '@/components/utils/DependentDropdown'; import { Bookmark, ToyBrick, FilePenLine, BicepsFlexed, Rocket, Workflow, Files, Blocks, FileQuestionMark, ExternalLink, FileText, Highlighter, MessagesSquare, } from "lucide-react"; export default function HomePage() { const templateData: DropdownData = { T_X: ['T_no_warning', 'TF_no_warning_P2', 'TS_P2_IN'], T12_X: ['T12_b2_IN', 'T12_FD155_3s-long'], }; const handleTmplSelect = (template: string, data: string) => { //console.log('Location Selected:', { template, data }); }; const handleInput = (e: ChangeEvent) => { // console.log(e.target) return true; } return (

DOCEDIT Template & Add-ins

ระบบเทมเพลตเพื่อสร้างเอกสาร MS Word และจัดการรุ่นของเอกสารผ่าน Word Add-ins ยุคใหม่ แบบอิสระ ที่สามารถ Integrate กับระบบความปลอดภัยของระบบอื่นๆได้

ระบบนี้ทำอะไรได้

{[ { icon: FileText, title: "DOCX Template", detail: "ออกแบบหน้าของเอกสารจาก Microsoft Word โดยไม่ต้องใช้เครื่องมือพิเศษ " + "สามารถนำเอกสารตัวเดิมมาใช้ออกแบบได้ทันที " + "ไม่จำเป็นต้องมีทักษะการเขียนโปรแกรมก็สามารถสร้างเทมเพลตได้ด้วยตัวเอง", }, { icon: FilePenLine, title: "Fill Form", detail: "รอรับ Rich และ Plain Text Content Control " + "สามารถสร้างฟอร์มสำหรับกรอกข้อมูลจากไฟล์ docx " + "สามารถใช้ API ดึงข้อมูลในฟอร์มกลับมาเพื่อนำไปใช้งานต่อ เช่นเก็บในฐานข้อมูลได้", }, { icon: ToyBrick, title: "Integration", detail: "ระบบทำงานเป็นอิสระแบบ Microservice ใช้ API Key เพื่อจำกัดการใช้งาน สามารถออกบัตรผ่านที่ลงลายเซ็นต์ด้วย HmacSha256" + "เพื่อให้ผสาน(Integrate)กับระบบงานที่มีอยู่เดิม ได้อย่างปลอดภัย" + "เพื่อให้ผสานกับระบบงานอื่นๆ ได้อย่างปลอดภัย", }, { icon: FileText, title: "Dynamic Template", detail: "รองรับเทมเพลตที่ซับซ้อน ข้อมูลที่มีจำนวนไม่แน่นอน การแสดงผลตามเงื่อนไขแบบต่างๆ " + "สามารถเขียนโปรแกรมเพิ่มลงในเทมเพลตได้ รองรับ FOR , IF แทรกโค้ด " + "ฟังก์ชั่นเพื่อสร้าง Content Control Bookmark ฯลฯ" + "มี API ช่วยนักพัฒนาสร้างเอกสารจากเทมเพลต(DOCX)และข้อมูล(JSON) " }, { icon: Rocket, title: "Versioning", detail: "จัดการ Veresion(รุ่น)ของเอกสารร่วมกันได้ผ่าน Microsoft Word Add-ins " + "สามารถดึง Veresion ที่ต้องการกลับมาแก้ไขได้ ", }, { icon: Rocket, title: "High Performance", detail: "containerization ขยายระบบได้ง่าย " + "การสร้าง template ทำงานแบบ Multi-Thread รองรับ CPU หลายแกน " + "เก็บไฟล์ใน Object Storage มีความทนทานและรับโหลดได้หนัก", }, { icon: Rocket, title: "PDF Export", detail: "ทุกครั้งที่ Save Veresion จะสร้าง PDF อัตโนมัติในด้วย MS Word ทำให้ได้เค้าโครงของหน้าตรงกับเอกสารที่แก้ไข " + "โดยไม่เกิดปัญหาความผิดเพี้ยนของ PDF ที่ใช้ MS Office ต่างเวอร์ชั่นในการแปลง ประมวลผลที่ไคลเอนต์ลดการใช้ทรัพยากรที่เซิร์ฟเวอร์", }, ].map(({ icon: Icon, title, detail }) => (

{title}

{detail}

))}

ตัวอย่างการใช้งาน

Template & Data

Template: T_X.docx,   T12_X.docx
Data: TF_no_warning_P2.json,   T_no_warning.json,   TS_P2_IN.json
T12_b2_IN.json,   T12_FD155_3s-long.json
นำไฟล์ไปทดสอบกับ API

Form (POST)

Flow

ลิงค์เลือกไฟล์
↓
ตรวจสิทธิ์ สร้าง docx
↓
ดาว์นโหลด เปิด Word
↓
Add-ins ตรวจสอบไฟล์
↓
Versioning
↓
อัปเดตฐานข้อมูลและไฟล์

Add-ins

Word Add-ins

การติดตั้งสามารถติดตั้งได้หลายวิธี

  1. 1. ติดตั้งผ่าน Office Store (วิธีทั่วไปสำหรับผู้ใช้ทั่วไป)
  2. 2. Sideloading ด้วยไฟล์ manifest.xml (Office 365) Insert>Add-ins>My Add-ins คลิ้ก "Upload My Add-in"
  3. 3. Shared Folder Sideloading(Office 2019+) นำไฟล์ manifest.xml  ไปทำตามวีดีโอ ติดตั้ง MS Word Add-ins
  4. 4. ใช้คำสั่ง reg.exe ร่วมกับ manifest.xml  ไปทำตามวีดีโอ ติดตั้ง MS Word Add-ins
  5. 5. สคริปต์ PowerShell(Dev Install) install-word-addins.ps1  แล้วเรียกคำสั่งด้านล่างเพื่อติดตั้ง

    Unblock-File .\install-word-addins.ps1
    Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
    .\install-word-addins.ps1 -Install

หมายเหตุ: Add-ins เป็นรุ่นใหม่(Office.js) มีความเป็นไปได้ที่จะรองรับรุ่น Desktop(Windows/Mac), Web และ iPad ด้วยข้อกำหนดของ TOR ให้รองรับ Word 2019(Desktop) บนวินโดว์ 10 เป็นขั้นต่ำ ทำให้ถูกจำกัดที่ WordApi 1.3 เท่านั้น ฟึเจอร์บางอย่างบน Add-ins จะถูกจำกัดตามความสามารถตามรุ่นของ WordApi การทดสอบต่างๆตามที่กำหนดใน TOR
สำหรับ Microsoft Office เวอร์ชันขายขาดแบบเก่า (เช่น Office 2016, 2019 หรือ 2021) จะไม่มีปุ่มอัปโหลดไฟล์ XML บนหน้าต่างเมนูโดยตรงเหมือน Microsoft 365 หากต้องการติดตั้งไฟล์ manifest.xml ในรุ่นดังกล่าว จำเป็นต้องใช้วิธีแชร์โฟลเดอร์เครือข่าย (Shared Folder Sideloading)

); }