แสดงโพสต์โดยจัดเรียงตามความเกี่ยวข้องกับคำค้นหา pandoc จัดเรียงตามวันที่ แสดงโพสต์ทั้งหมด
แสดงโพสต์โดยจัดเรียงตามความเกี่ยวข้องกับคำค้นหา pandoc จัดเรียงตามวันที่ แสดงโพสต์ทั้งหมด

วันศุกร์ที่ 30 สิงหาคม พ.ศ. 2567

แปลงเอกสารด้วย Pandoc (ตอนที่ 3)

ก่อนหน้านี้เคยเขียนบล็อกเรื่องการแปลงเอกสารด้วย Pandoc ไปทั้ง ตอนที่ 1 และ ตอนที่ 2 แล้ว หลังจากที่พบว่าโปรแกรม Pandoc ที่ผมใช้อยู่มันเป็นเวอร์ชันที่เก่าแล้ว (2.7.x) มี bug เรื่องการแปลงฟอร์แมต markdown นิดหน่อย คือตัว ~~ ไม่แปลงเป็นตัวขีดฆ่า และไม่แปลงตัวหนาตัวเอนใน docx (แต่แปลงให้ใน odt) ก็เลยไปอัปเดตให้เป็น เวอร์ชันล่าสุด (วันที่เขียนบล็อก ล่าสุดคือเวอร์ชัน 3.3.1 - 29 Jul 2024) ซึ่งเวอร์ชันนี้มีบางจุดเปลี่ยนไปจากรุ่นก่อน เลยต้องมาเขียนบันทึกเพิ่ม

ผมใช้ Linux Mint (Ubuntu based) เลยดาวน์โหลดไฟล์ pandoc-3.3-1-amd64.deb มาติดตั้ง ถ้าใช้ Windows, Mac ก็เลือกตามระบบที่ใช้

การตรวจสอบเวอร์ชันของ Pandoc ที่ติดตั้งในเครื่อง ให้พิมพ์ว่า

pandoc -v หรือ pandoc --version


ดูพารามิเตอร์คำสั่งต่างๆ ให้พิมพ์ว่า

pandoc -h หรือ pandoc --help

ถ้ามีเวอร์ชันก่อนหน้าติดตั้งเอาไว้ ต้องลบของเดิมออกถึงค่อยติดตั้งเวอร์ชันใหม่ โดยพิมพ์ในเทอร์มินัลว่า

sudo apt remove pandoc


วิธีการติดตั้ง โดยปกติจะดับเบิลคลิกไฟล์เพื่อเปิด package installer ให้ติดตั้งได้เลย แต่ถ้าไม่ได้ ก็ใช้วิธีติดตั้งผ่านเทอร์มินัล โดยพิมพ์ว่า

sudo dpkg -i ไฟล์ติดตั้งที่ดาวน์โหลด


เวอร์ชันที่ผมใช้ก่อนหน้านี้ การแปลงเป็น markdown กับ plain (text ข้อความธรรมดา) มันจะตัดแบ่งบรรทัดให้อัตโนมัติ ถ้าไม่อยากให้มันแบ่งต้องใส่ --wrap=none ไว้ด้วย เช่น

pandoc -t markdown-smart --wrap=none file-in.docx > file-out.md

หากแปลงเป็น html มันจะไม่ตัดบรรทัดให้ และผมก็เคยชินแบบนั้น แต่หลังจากที่อัปเดตมาเป็นเวอร์ชัน 3.3.1 ก็เจอว่าตอนแปลงเป็น html มันก็ตัดบรรทัดให้ด้วย ดังนั้นจึงต้องใส่แท็ก --wrap=none ไว้เช่นกัน

วันอาทิตย์ที่ 29 ตุลาคม พ.ศ. 2566

การแปลงฟอร์แมตเอกสารด้วยโปรแกรม Pandoc (ตอนที่ 1)

Pandoc เป็นโปรแกรมฟรีสำหรับแปลงเอกสารในรูปแบบต่างๆ ที่ใช้งานได้ทั้งบน Windows, Mac และ Linux ( ดาวน์โหลด)

รูปแบบเอกสารที่แปลงได้นั้นมีมากมายหลายฟอร์แมต อย่างเช่น markdown, html, ePUB, docx, odt, rtf, LaTeX, csv, pdf หรือแม้แต่เอกสารในรูปแบบที่เราสร้างขึ้นเองก็ยังได้ ( รูปแบบเอกสารที่รองรับ)

วิธีการติดตั้งสำหรับ Linux

sudo apt install pandoc

วันเสาร์ที่ 15 มิถุนายน พ.ศ. 2567

แปลงเอกสารด้วย Pandoc (ตอนที่ 2)

ก่อนหน้านี้เขียนบล็อกเรื่อง การแปลงฟอร์แมตเอกสารด้วยโปรแกรม Pandoc เอาไว้ แต่ด้วยความที่เขียนในรูปแบบบันทึกกันลืม และเขียนรวมกับการทำต้นฉบับเพื่อเอาไปทำ ePUB ด้วย เลยอ่านแล้วจะดูงงๆ หน่อย

ตอนนี้เลยมาชำระเขียนใหม่เพื่อให้เข้าใจง่ายขึ้น เน้นเฉพาะการใช้ Pandoc เพื่อแปลงไฟล์โดยตรง

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

คำสั่งต่างๆ มีตัวเลือกเยอะมาก ไปดูรายละเอียดเพิ่มเติมได้ที่ → คู่มือการใช้งานเพิ่มเติม , ชนิดของไฟล์ที่แปลงได้


1. การดาวน์โหลดและติดตั้ง

1.1 ถ้าเป็น Windows หรือ Mac ไปโหลดได้จาก ดาวน์โหลด Pandoc

1.2 ถ้าเป็น Linux ให้ติดตั้งจาก terminal โดยพิมพ์ว่า

sudo apt install pandoc


วันศุกร์ที่ 27 ตุลาคม พ.ศ. 2566

แปลง Markdown ให้เป็น HTML บน Ubuntu

ปกติเวลาแปลง markdown เป็น html ถ้าเป็นไฟล์งานเขียนที่ทำเป็นเรื่องเป็นราว จะแปะลงในโปรแกรม PHP ที่เขียนเอาไว้ แต่ถ้าเป็นไฟล์สั้นๆ ก็จะใช้เว็บแปลงเอา อย่างเช่น

https://markdowntohtml.com

แต่ทีนี้ เวลาต้องการจะแปลงไฟล์หลายๆ ไฟล์ หรือไฟล์ยาวๆ การจะเอาไปแปะเพื่อแปลงในเว็บ หรือในโปรแกรมที่เขียนเอง มันก็เสียเวลามาก

พอไปลองค้นดู ก็พบว่าในดิสโทร Ubuntu based อย่าง Linux Mint มีโปรแกรมสำหรับแปลงอยู่หลายตัว

วันอาทิตย์ที่ 21 ธันวาคม พ.ศ. 2568

[โปรแกรม] โปรแกรมแปลงไฟล์นิยายภาษาจีน

ไฟล์ต้นฉบับนิยายภาษาจีนที่ผมได้รับเพื่อนำมาแปลไทย จะอยู่ในรูปแบบที่เป็น text file ซึ่งรวมทุก chapter ทั้งหมดไว้ในไฟล์เดียวกัน เนื่องด้วยวิธีการแปลงานของผมจะต้องตัดแยกแต่ละ chapter เก็บแยกเป็น record ในฐานข้อมูลเพื่อความสะดวกเวลาค้นหาข้อความ จึงต้องเขียนโปรแกรมเพื่อตัดข้อมูล

สมัยตอนแรกๆ นั้นผมเขียนเป็นโปรแกรม PHP ซึ่งการตัดแบ่งไฟล์นั้นจะใช้เวลาอยู่บ้าง โดยเฉพาะไฟล์ขนาดใหญ่ตามประสานิยายจีน และช่วงหลังๆ นี้การแปลงข้อมูลในรูปแบบ plain text เป็น html (หรือฟอร์แมตอื่น) ผมจะใช้ Pandoc เป็นหลัก

แต่หลังจากที่ลองเขียนเป็น python พบว่าสามารถทำงานได้เร็วกว่าใช้ PHP ผสม Pandoc มาก เลยเอามาจดเป็นบล็อกไว้กันลืม (ใช้ ChatGPT ให้สร้างโปรแกรมขึ้นมา)

โปรแกรม novel-convert.py อันนี้เอามาใช้งานแปลงไฟล์ได้ค่อนข้างสะดวก วิธีใช้งานต้องสั่งการด้วย command บน terminal โดยมีพารามิเตอร์ดังนี้

novel-convert.py [-h] [-v] [-clean] [-rn2n] [-line] [-html] [-cuthtml]

                        [-cuttext] [-h1] [-h2] [-h3] [-h4] [-h5] [-h6]

                        [input] [output]


วันจันทร์ที่ 30 ตุลาคม พ.ศ. 2566

[LibreOffice Writer] เปลี่ยน template ให้กับเอกสารที่สร้างไว้แล้ว

โดยปกติแล้วเวลาสร้างเอกสารขึ้นใหม่ ถ้าเราไม่ได้เลือก template อะไร มันจะเลือก default.ott โดยอัตโนมัติ แต่ถ้าอยากสร้างเอกสารที่เป็นรูปแบบที่เรากำหนดเอง (ขนาดหน้ากระดาษ, ระยะขอบ, แบบและสไตล์ของตัวอักษร ฯลฯ) ก็จะเลือกที่เมนู File / New / Templates... (หรือกด Shift + Ctrl + N) ก็จะมีรายการ template ขึ้นมาให้เลือก ซึ่งจะมีทั้งที่มากับโปรแกรมและที่เราสร้างไว้เอง

แต่ในกรณีที่เราเคยสร้างเอกสารไว้แล้ว และต้องการจะเปลี่ยน template ในภายหลัง โดยปกติแล้วจะทำไม่ได้ จำเป็นต้องใช้ส่วนเสริม extension ชื่อว่า Document Template Changer ซึ่งใช้งานได้ทั้ง Writer, Calc, Draw, Impress

เวอร์ชันล่าสุดของ extension นี้คือ 2.0.1 (ตั้งแต่ปี 2020) ผมใช้งานกับ LibreOffice 7.2.x.x ได้ไม่มีปัญหา


วันอาทิตย์ที่ 22 ตุลาคม พ.ศ. 2566

แปลงไฟล์ Docx ให้เป็น Markdown

การจัดการเอกสารในกรณีที่เอกสารมีจำนวนหน้าและตอนเยอะๆ นี่ (อย่างเช่นนิยาย) ตอนหลังตัวเองใช้เป็น Markdown เพราะว่าเวลาเอาไปทำงานต่อ อย่างเช่นแปลงเป็น ePUB จะทำได้ค่อนข้างสะดวก ไม่มีพวกรหัสส่วนเกินมาวุ่นวาย ซึ่งการจะทำเป็น ePUB มันก็คือ html นั่นแหละ

เว็บสำหรับแปลง markdown เป็น html แบบออนไลน์ คัดลอกข้อความไปแปะ แล้วก็กดปุ่ม convert

https://markdowntohtml.com

วันจันทร์ที่ 30 มิถุนายน พ.ศ. 2568

ReText โปรแกรมสำหรับแก้ไข markdown

การเขียนเนื้อหาเอกสาร (เช่นบทความหรือนิยาย) ด้วยภาษา markdown ทำให้ทำต้นฉบับได้ค่อนข้างสะดวก และสามารถใช้โปรแกรมเพื่อแปลงให้เป็นฟอร์แมตอื่นๆ ได้ เช่น Pandoc

บางทีถ้าต้องการใช้โปรแกรมแก้ไข markdown ที่สามารถมองเห็นผลลัพธ์ได้ โดยไม่ต้องเข้าไปใช้งานผ่านหน้าเว็บ หรือแปลงฟอร์แมตก่อน ก็มีโปรแกรมตัวเล็กที่ใช้งานง่ายอย่าง ReText

วิธีการติดตั้ง ถ้าไปโหลดไฟล์แบบ Flathub ที่เป็นรุ่นล่าสุด ตัวไฟล์จะมีขนาดใหญ่มาก แต่ถ้าโหลดเป็นไฟล์จาก repo จะได้เป็นรุ่นเก่า (7.2.3)

วิธีติดตั้งจาก terminal ผ่าน pip จะมีขนาดเล็กและได้เวอร์ชันล่าสุด (ตอนเขียนบล็อกคือ 8.1.0) โดยพิมพ์ว่า

pip3 install ReText

หรือ

pip3 install --user ReText

การติดตั้งวิธีนี้ เวลาใช้งานต้องเรียกจาก terminal โดยพิมพ์ว่า retext

ถ้าต้องการดูเวอร์ชัน ก็พิมพ์ว่า

retext --version


วันอังคารที่ 4 มิถุนายน พ.ศ. 2567

การทำไฟล์ ePUB ด้วยโปรแกรม Sigil แบบสังเขป

ขั้นตอนการทำไฟล์ ePUB แบบสังเขป ไม่ได้เจาะลงไปในรายละเอียดของแต่ละขั้นตอนว่าคืออะไร แต่ให้เห็นภาพรวมคร่าวๆ

โปรแกรมที่ใช้งานในคลิปนี้ เป็น Opensource ใช้งานได้ฟรี มี

1. LibreOffice Writer เอาไว้ทำเอกสารต้นฉบับ (ใช้ MS Word หรือ Google Doc หรือโปรแกรมอื่นๆ ก็ได้ทั้งนั้น)

2. โปรแกรม Pandoc สำหรับแปลงเอกสาร

3. โปรแกรม Sigil สำหรับทำไฟล์ ePub

วันพฤหัสบดีที่ 19 กุมภาพันธ์ พ.ศ. 2569

การสแกนหนังสือมาสร้างไฟล์ ePUB ไว้อ่าน

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


ช่วงไหนที่มีเวลาและขยันมากพอ ผมก็จะเอาหนังสือที่มีอยู่มาสแกนเก็บไว้ก่อน แล้วค่อยมาแปลงเป็น epub เพราะไฟล์ที่สแกนมาทำเป็น pdf นั้น ถึงจะใช้ iPad 10 นิ้วเปิด ผมก็ยังรู้สึกอ่านไม่สบายตาอยู่ดี ไม่เหมือนอ่านจากหน้าจอ Kindle 6 นิ้ว ที่เราสามารถย่อขยายตัวหนังสือได้ตามต้องการและสะดวกต่อการพกพาไปอ่านที่ไหนต่อที่ไหนได้

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