ข้ามไปยังเนื้อหา

เครื่องมือบรรทัดคำสั่ง

larrygram-cli · 1.0.0-alpha.1 (ยังไม่เผยแพร่)

larrygram-cli อ่านไฟล์ภาพวาด Visio แล้วพิมพ์สรุปข้อมูล เรนเดอร์หน้า หรือส่งออกทุกหน้าเป็น PNG หรือ SVG เครื่องมือนี้ทำงานผ่านทะเบียนคำสั่ง (command registry) เดียวกับแอป (file.inspect, file.render, file.export) สคริปต์จึงได้พฤติกรรมแบบเดียวกับที่คนใช้งานในแอป

มีเพียงเอาต์พุตของ inspect และ --help เท่านั้นที่ออกทางเอาต์พุตมาตรฐาน (standard output) ข้อผิดพลาดและคำเตือนจะออกทาง standard error บรรทัดละหนึ่งรายการ

larrygram-cli - inspect, render and export Visio drawings
Usage:
larrygram-cli inspect <file> [--json] [--page N]
larrygram-cli render <file> --out <path> [--page N] [--format png|svg]
[--scale PPI] [--background #RRGGBB|none] [--strict]
larrygram-cli export <file> --out <dir> [--format png|svg] [--scale PPI]
[--strict]
larrygram-cli --help

บิลด์จากรีโพซิทอรีด้วยคำสั่ง:

Terminal window
cargo build --release -p larrygram-cli
./target/release/larrygram-cli --help

สรุปข้อมูลของเอกสาร ได้แก่ ประเภท หน้า มาสเตอร์ สไตล์ และธีม

แฟล็ก ความหมาย ค่าเริ่มต้น
--json พิมพ์สรุปเป็นออบเจกต์ JSON หนึ่งออบเจกต์ ข้อความ
--page N สรุปเฉพาะหนึ่งหน้า นับจาก 1 ทุกหน้า
Terminal window
larrygram-cli inspect flowchart.vsdx
kind: drawing
pages: 2
1: Page-1 8.5 x 11 in, 3 shapes, 0 warnings
2: (unnamed) 11 x 8.5 in, 0 shapes, 2 warnings
masters: 1
styles: 4
themes: 1
warnings: 2

เมื่อใช้ --json คีย์ต่าง ๆ จะคงที่ไม่เปลี่ยนแปลง:

{
"kind": "drawing",
"masters": 1,
"pages": [
{ "height": 11.0, "index": 1, "name": "Page-1", "shapes": 3, "warnings": 0, "width": 8.5 },
{ "height": 8.5, "index": 2, "name": "", "shapes": 0, "warnings": 2, "width": 11.0 }
],
"styles": 4,
"themes": 1,
"warnings": 2
}

kind มีค่าเป็น drawing, stencil หรือ template ขนาดหน้ามีหน่วยเป็นนิ้ว ขนาดที่คำนวณไม่ได้จะเป็น 0

เรนเดอร์หนึ่งหน้าเป็นไฟล์ PNG หรือ SVG

แฟล็ก ความหมาย ค่าเริ่มต้น
--out PATH ไฟล์เอาต์พุต (จำเป็น) —
--page N หน้าที่จะเรนเดอร์ นับจาก 1 หน้าแรก
--format png|svg รูปแบบเอาต์พุต ตามนามสกุลของ --out
--scale PPI สเกลของอุปกรณ์เป็นพิกเซลต่อนิ้ว ต้องเป็นจำนวนบวก 96
--background C #RRGGBB สำหรับสีทึบ หรือ none สำหรับพื้นหลังโปร่งใส พื้นหลังของหน้านั้นเอง
--strict ออกด้วยรหัส 4 เมื่อมีคำเตือน (ไฟล์ยังคงถูกเขียน) ปิด
Terminal window
larrygram-cli render flowchart.vsdx --out page-1.png --scale 192
larrygram-cli render flowchart.vsdx --out page-2.svg --page 2 --background none

เรนเดอร์ทุกหน้าของเอกสารลงในไดเรกทอรี ไฟล์จะมีชื่อเป็น page-1.png, page-2.png ไปเรื่อย ๆ

แฟล็ก ความหมาย ค่าเริ่มต้น
--out DIR ไดเรกทอรีเอาต์พุต (จำเป็น) —
--format png|svg รูปแบบเอาต์พุต png
--scale PPI สเกลของอุปกรณ์เป็นพิกเซลต่อนิ้ว 96
--strict ออกด้วยรหัส 4 เมื่อมีคำเตือน ปิด
Terminal window
larrygram-cli export flowchart.vsdx --out pages/ --format svg
รหัส ความหมาย
0 สำเร็จ
1 ข้อผิดพลาดในการใช้งาน (อาร์กิวเมนต์ไม่ถูกต้อง)
2 ข้อผิดพลาดของอินพุต: ไม่พบไฟล์ อ่านไฟล์ไม่ได้ หรือแยกวิเคราะห์ไฟล์ไม่ได้
3 ข้อผิดพลาดในการเรนเดอร์หรือการเขียนเอาต์พุต
4 มีคำเตือนเกิดขึ้นและตั้งค่า --strict ไว้

ทำให้งาน (job) ล้มเหลวเมื่อไฟล์ภาพวาดเรนเดอร์แล้วมีคำเตือน:

Terminal window
for f in diagrams/*.vsdx; do
larrygram-cli export "$f" --out "build/${f%.vsdx}" --format svg --strict || exit 1
done
ตรวจสอบไฟล์ภาพวาดและเรนเดอร์หน้าจากเทอร์มินัล

หน้านี้แปลจากภาษาอังกฤษ หากพบส่วนที่อ่านแล้วไม่ถูกต้อง แจ้งให้เราทราบ