ฟรี Ruby API สำหรับ Word  DOCX การสร้างและการประมวลผล 

ไลบรารี Ruby แบบโอเพนซอร์สที่ช่วยให้โปรแกรมเมอร์สามารถสร้างเอกสาร Office Word แบบมืออาชีพ แก้ไขไฟล์ DOCX เพิ่มระยะขอบของหน้า แทรกตารางที่ซ้อนกันโดยใช้ไวยากรณ์ที่เหมือน HTML

ไลบรารี Caracal ช่วยให้นักพัฒนา Ruby สามารถสร้างเอกสาร Office Word แบบมืออาชีพภายในแอปพลิเคชันของตนเองโดยใช้ไวยากรณ์ที่เหมือน HTML ไลบรารีทำให้งานของ Developer เป็นเรื่องง่ายโดยทำให้พวกเขาใช้คำสั่งง่ายๆ เพื่อสร้างและจัดการ Office Open XML (OOXML) ห้องสมุดเป็นโอเพ่นซอร์สและอยู่ภายใต้ใบอนุญาต MIT

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

Previous Next

เริ่มต้นใช้งาน Caracal

โปรดเพิ่ม Gemfile ของแอปพลิเคชันคำสั่งต่อไปนี้เพื่อให้ใช้งานไลบรารีได้อย่างราบรื่น

ติดตั้ง Caracal โดยเพิ่มโค้ดลงใน Gemfile . ของแอปพลิเคชัน

 gem 'caracal'

ติดตั้ง Caracal โดยเพิ่มโค้ดลงใน Gemfile . ของแอปพลิเคชัน

bundle install

การสร้างไฟล์ Word Docx โดยใช้ Ruby

ไลบรารี Caracal แบบโอเพ่นซอร์สช่วยให้นักพัฒนา Ruby สร้างไฟล์ DOCX ภายในแอปของตนโดยใช้โค้ด Ruby รูปแบบไฟล์ DOCX คือคอลเล็กชันเอกสาร XML ที่บีบอัด และสร้างขึ้นโดยใช้มาตรฐาน OOXML ไลบรารีช่วยโปรแกรมเมอร์โดยการสร้างโครงสร้างทั้งหมดของเอกสารและซิปเอกสารเอาต์พุต ไลบรารีรองรับการแก้ไขไฟล์ที่มีอยู่ การปรับขนาดหน้า การตั้งค่าระยะขอบ การใช้สไตล์ และอื่นๆ อีกมากมาย

สร้างเอกสาร Word ผ่านห้องสมุด Ruby Caracas

Caracal::Document.save 'example.docx' do |docx|
  # page 1
  docx.h1 'Page 1 Header'
  docx.hr
  docx.p
  docx.h2 'Section 1'
  docx.p  'Lorem ipsum dolor....'
  docx.p
  docx.table @my_data, border_size: 4 do
    cell_style rows[0], background: 'cccccc', bold: true
  end
  # page 2
  docx.page
  docx.h1 'Page 2 Header'
  docx.hr
  docx.p
  docx.h2 'Section 2'
  docx.p  'Lorem ipsum dolor....'
  docx.ul do
    li 'Item 1'
    li 'Item 2'
  end
  docx.p
  docx.img 'https://www.example.com/logo.png', width: 500, height: 300
end

เพิ่มตารางและตารางที่ซ้อนกันในไฟล์ Word

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

ใช้รายการภายในเอกสาร Word

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

วิธีการใช้รายการภายในเอกสาร Word ผ่านห้องสมุดทับทิม

docx.ol do
  li 'First item'
  li do
    text 'Second item with a '
    link 'link', 'http://www.google.com'
    text '.'
    br
    text 'This sentence follows a line break.'
  end
end

แทรกย่อหน้าและบุ๊กมาร์กไปยังไฟล์ DOCX

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

เพิ่มบุ๊คมาร์คลงในเอกสาร Word ผ่านห้องสมุดทับทิม

# document-level bookmark
dox.bookmark_start id: 's1', name: 'section1'
docx.h2 'Section Heading'
docx.bookmark_end id: 's1'
docx.p  'Section content.'
# pargraph-level bookmark
docx.h2 'Section Heading'
docx.p do
  text 'Pretend this paragraph has a lot of text and we want to bookmark '
  bookmark_start id: 'p1', name: 'phrase1'
  text 'a single phrase'
  bookmark_end id: 'p1'
  text ' inside the larger block.'
end
 ไทย