วิธีสร้างและรวมไฟล์ PDF บน Linux Command Line

เผยแพร่แล้ว: 2022-09-24
Jane Kelly / Shutterstock.com

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

สารบัญ

รูปแบบเอกสารแบบพกพา
การสร้างไฟล์ PDF บน Linux
คำสั่ง qpdf
การรวมไฟล์ PDF
การแยกไฟล์ PDF
หมุนหน้า
การเข้ารหัสและถอดรหัส
qpdf เป็นเครื่องมือที่ยอดเยี่ยม

รูปแบบเอกสารแบบพกพา

Portable Document Format (PDF) แก้ปัญหาได้ เมื่อคุณสร้างเอกสารบนคอมพิวเตอร์และต้องการแชร์กับคนอื่น การส่งเอกสารไปให้พวกเขาอาจไม่ได้ผลเสมอไป

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

วิธีติดตั้ง Google และ Microsoft Fonts บน Linux
ที่เกี่ยวข้อง วิธีการติดตั้ง Google และ Microsoft Fonts บน Linux

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

Adobe สร้างรูปแบบไฟล์ใหม่ในปี 1992 และเรียกมันว่ารูปแบบเอกสารแบบพกพา เอกสารที่สร้างขึ้นตามมาตรฐานนั้น—ISO 32000—ประกอบด้วยรูปภาพและแบบอักษรที่จำเป็นในการแสดงเนื้อหาของไฟล์อย่างถูกต้อง ไฟล์ PDF สามารถเปิดได้โดยผู้ดู PDF บนแพลตฟอร์มใดก็ได้ เป็นโซลูชันข้ามแพลตฟอร์ม เรียบง่าย และสง่างาม

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

ต่อไปนี้เป็นวิธีสร้างไฟล์ PDF บน Linux และวิธีดำเนินการแปลงบางส่วนที่สามารถนำไปใช้กับไฟล์เหล่านี้ได้

การสร้างไฟล์ PDF บน Linux

แอพพลิเคชั่นมากมายบน Linux สามารถสร้างไฟล์ PDF ได้โดยตรง LibreOffice มีปุ่มขวาบนแถบเครื่องมือที่สร้าง PDF ของเอกสารปัจจุบัน มันไม่ง่ายเลย

ปุ่ม LibreOffice Writer PDF

สำหรับการควบคุมการสร้าง PDF อย่างละเอียด แอปพลิเคชันการเผยแพร่บนเดสก์ท็อป Scribus นั้นยากจะเอาชนะได้

หากคุณต้องการสร้างเอกสารที่มีเนื้อหาทางวิทยาศาสตร์หรือทางคณิตศาสตร์ สำหรับการส่งไปยังวารสารวิชาการ แอปพลิเคชันที่ใช้ LaTeX เช่น Texmaker จะเหมาะสำหรับคุณ

วิธีใช้ pandoc เพื่อแปลงไฟล์บน Linux Command Line
วิธีใช้ pandoc เพื่อแปลงไฟล์บน Linux Command Line

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

ติดตั้ง Texmaker ก่อน pandoc อาศัยไลบรารี LaTeX บางตัวสำหรับการสร้าง PDF การติดตั้ง Texmaker เป็นวิธีที่สะดวกในการตอบสนองการพึ่งพาเหล่านั้น

ตัวเลือก -o (เอาต์พุต) ใช้เพื่อระบุประเภทของไฟล์ที่จะสร้างขึ้น ไฟล์ “raw-notes.md” เป็นไฟล์ Markdown แบบข้อความธรรมดา

 pandoc -o new.pdf raw-notes.md 

ใช้ pandoc เพื่อสร้าง PDF จากไฟล์ Markdown

หากเราเปิดไฟล์ “new.pdf” ในโปรแกรมดู PDF เราจะเห็นว่าไฟล์นั้นเป็น PDF ที่มีรูปแบบถูกต้อง

การเปิด PDF ที่สร้างโดย pandoc

คำสั่ง qpdf

คำสั่ง qpdf ช่วยให้คุณสามารถจัดการไฟล์ PDF ที่มีอยู่ ในขณะที่รักษาเนื้อหาไว้ การเปลี่ยนแปลงที่คุณสามารถทำได้คือ โครงสร้าง ด้วย qpdf คุณสามารถทำงานต่างๆ เช่น การรวมไฟล์ PDF การแยกหน้า การหมุนหน้า การตั้งค่าและการลบการเข้ารหัส

ในการติดตั้ง qpdf บน Ubuntu ให้ใช้คำสั่งนี้:

 sudo apt ติดตั้ง qpdf 

การติดตั้ง qpdf บน Ubuntu

คำสั่งบน Fedora คือ:

 sudo dnf ติดตั้ง qpdf 

การติดตั้ง qpdf บน Fedora

บน Manjaro คุณต้องพิมพ์:

 sudo pacman -S qpdf 

การติดตั้ง qpdf บน Manjaro

การรวมไฟล์ PDF

ในตอนแรก ไวยากรณ์บรรทัดคำสั่ง qpdf บางตัวอาจดูสับสน ตัวอย่างเช่น คำสั่งจำนวนมากคาดหวังให้ป้อนไฟล์ PDF

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

หากต้องการรวมไฟล์ PDF สองไฟล์เข้าด้วยกันเป็นไฟล์ PDF ใหม่ ให้ใช้รูปแบบคำสั่งนี้

 qpdf --empty --pages first.pdf second.pdf -- รวม.pdf 

การรวมไฟล์ PDF สองไฟล์เข้าด้วยกันเพื่อสร้างไฟล์ PDF ใหม่

คำสั่งนี้ประกอบด้วย:

  • qpdf : เรียกคำสั่ง qpdf
  • –empty : บอก qpdf ว่าไม่มีการป้อน PDF คุณสามารถโต้แย้งได้ว่า “first.pdf” และ “second.pdf” เป็นไฟล์อินพุต แต่ qpdf จะถือว่าไฟล์เหล่านี้เป็นพารามิเตอร์บรรทัดคำสั่ง
  • –pages : บอก qpdf ว่าเรากำลังจะทำงานกับเพจ
  • first.pdf second.pdf : สองไฟล์ที่เราจะแยกจากหน้า เราไม่ได้ใช้ช่วงของหน้า ดังนั้นทุกหน้าจะถูกใช้
  • : ระบุจุดสิ้นสุดของตัวเลือกคำสั่ง
  • รวม .pdf : ชื่อของ PDF ที่จะถูกสร้างขึ้น

หากเราค้นหาไฟล์ PDF ด้วย ls เราจะเห็นไฟล์ต้นฉบับสองไฟล์ของเรา—ไม่ถูกแตะต้อง—และ PDF ใหม่ที่เรียกว่า “combined.pdf”

 ls -hl first.pdf second.pdf รวม.pdf 

ใช้ ls เพื่อแสดงรายการไฟล์ PDF ที่มีอยู่และใหม่

มีสองหน้าใน “first.pdf” และหนึ่งหน้าใน “second.pdf” ไฟล์ PDF ใหม่มีสามหน้า

ไฟล์ PDF ใหม่มีหน้าทั้งหมดจากไฟล์ PDF ต้นฉบับสองไฟล์

คุณสามารถใช้ไวด์การ์ดแทนการแสดงรายการไฟล์ต้นฉบับจำนวนมากได้ คำสั่งนี้จะสร้างไฟล์ใหม่ชื่อ “all.pdf” ที่มีไฟล์ PDF ทั้งหมดในไดเร็กทอรีปัจจุบัน

 qpdf --empty --pages *.pdf -- all.pdf 

การใช้ไวด์การ์ดในบรรทัดคำสั่ง qpdf

เราสามารถใช้ช่วงหน้าโดยการเพิ่มหมายเลขหน้าหรือช่วงหลังชื่อไฟล์ที่จะแยกหน้า

นี่จะแยกหน้าที่หนึ่งและสองจาก “first.pdf” และหน้าสองจาก “second.pdf” โปรดทราบว่าหากมี “combined.pdf” อยู่แล้ว จะไม่มีการเขียนทับ มีหน้าที่เลือก เพิ่ม เข้าไป

 qpdf --empty --pages first.pdf 1-2 seconds.pdf 1 -- รวม.pdf 

การใช้ช่วงหน้าเพื่อเลือกหน้าที่จะเพิ่มไปยังไฟล์ใหม่

ช่วงของหน้าสามารถมีรายละเอียดได้ตามที่คุณต้องการ ในที่นี้ เราขอชุดหน้าที่เฉพาะเจาะจงมากจากไฟล์ PDF ขนาดใหญ่ และเรากำลังสร้างไฟล์ PDF สรุป

 qpdf --empty --pages large.pdf 1-3,7,11,18-21,55 -- Summary.pdf 

การใช้ชุดช่วงหน้าที่ซับซ้อน

ไฟล์เอาต์พุต “summary.pdf” มีหน้า 1 ถึง 3, 7, 11, 18 ถึง 21 และ 55 จากไฟล์ PDF ที่ป้อน ซึ่งหมายความว่ามี 10 หน้าใน “summary.pdf”

หน้าที่ 10 ของ PDF ใหม่คือหน้า 55 จากไฟล์ต้นฉบับ

เราจะเห็นว่าหน้า 10 เป็นหน้า 55 จาก PDF ต้นฉบับ

การแยกไฟล์ PDF

สิ่งที่ตรงกันข้ามกับการรวมไฟล์ PDF ก็คือการแยกไฟล์ PDF ในการแบ่ง PDF เป็นไฟล์ PDF แยกกันโดยแต่ละหน้ามีหน้าเดียว ไวยากรณ์นั้นง่ายมาก

ไฟล์ที่เรากำลังแยกคือ "summary.pdf" และไฟล์ที่ส่งออกจะได้รับเป็น "page.pdf" ใช้เป็นชื่อฐาน ไฟล์ใหม่แต่ละไฟล์มีการเพิ่มตัวเลขลงในชื่อฐาน ตัวเลือก --split-pages จะบอก qpdf ว่าเรากำลังดำเนินการประเภทใด

 qpdf summary.pdf page.pdf --split-pages 

แยกไฟล์ PDF เป็นไฟล์ PDF หลายๆ ไฟล์โดยให้หน้าแต่ละหน้า

ผลลัพธ์คือชุดของไฟล์ PDF ที่มีลำดับเลขตามลำดับ

 ls หน้า*.pdf 

ใช้ ls เพื่อแสดงรายการไฟล์ PDF ที่มีหมายเลข

หากคุณไม่ต้องการแยกทุกหน้า ให้ใช้ช่วงของหน้าเพื่อเลือกหน้าที่คุณต้องการ

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

 qpdf large.pdf section.pdf --pages large.pdf 1-5,11-14,60,70-100 -- -- แยกหน้า 

การแยก PDF ด้วยช่วงหน้า

หน้าที่แยกออกมาจะมีชื่อตาม “section.pdf” โดยมีการเพิ่มหมายเลขตามลำดับเข้าไป

 ls ส่วน*.pdf 

ใช้ ls เพื่อแสดงรายการไฟล์ PDF ที่มีหมายเลข

หากคุณต้องการแยกช่วงหน้าและจัดเก็บไว้ใน PDF เดียว ให้ใช้คำสั่งของแบบฟอร์มนี้ โปรดทราบว่าเราไม่ได้รวมตัวเลือก --split-pages อย่างมีประสิทธิภาพ สิ่งที่เราทำที่นี่คือการผสาน PDF แต่เรากำลัง "รวม" หน้าจากไฟล์ต้นฉบับเพียงไฟล์เดียว

 qpdf --empty --pages large.pdf 8-13 -- ตอนที่2.pdf 

แยกช่วงของหน้าจากไฟล์ PDF และจัดเก็บไว้ในไฟล์ PDF ใหม่หนึ่งไฟล์

สิ่งนี้จะสร้าง PDF หน้าเดียวหลายหน้าที่เรียกว่า “chapter2.pdf”

หมุนหน้า

ในการหมุนหน้า เราสร้าง PDF ใหม่ที่เหมือนกับ PDF ที่ป้อนโดยหมุนหน้าที่ระบุ

เราใช้ตัวเลือก --rotate เพื่อทำสิ่งนี้ +90 หมายถึงหมุนหน้า 90 องศาตามเข็มนาฬิกา คุณสามารถหมุนหน้า 90, 180 หรือ 270 องศา คุณยังสามารถระบุการหมุนเป็นองศาทวนเข็มนาฬิกาได้โดยใช้จำนวนลบ แต่ไม่จำเป็นต้องทำเช่นนั้น การหมุน -90 เท่ากับการหมุน +270

ตัวเลขที่แยกจากการหมุนด้วยเครื่องหมายทวิภาค “ : ” คือหมายเลขของหน้าที่คุณต้องการหมุน นี่อาจเป็นรายการหมายเลขหน้าและช่วงของหน้า แต่เราเพิ่งจะหมุนเวียนหน้าแรก ในการหมุนหน้าทั้งหมด ให้ใช้ช่วงหน้า 1-z

 qpdf --rotate=+90:1 สรุป.pdf หมุน1.pdf 

การหมุนหน้าแรกของ PDF

หน้าแรกได้รับการหมุนสำหรับเรา

ไฟล์ PDF ที่หน้าแรกหมุนตามเข็มนาฬิกา 90 องศา

การเข้ารหัสและถอดรหัส

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

ในการเข้ารหัส PDF เราจำเป็นต้องใช้ --encrypt ตัวเลือกและระบุรหัสผ่านทั้งสอง รหัสผ่านผู้ใช้มาก่อนในบรรทัดคำสั่ง

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

เรากำลังจะสร้าง "summary.pdf" เวอร์ชันเข้ารหัสที่เรียกว่า "secret.pdf"

 qpdf --เข้ารหัส hen.rat.squid goose.goat.gibbon 256 -- สรุป.pdf secret.pdf 

การสร้าง PDF ที่เข้ารหัส

เมื่อเราพยายามเปิด PDF โปรแกรมดู PDF จะถามรหัสผ่านให้เรา การป้อนรหัสผ่านผู้ใช้จะอนุญาตให้ผู้ดูเปิดไฟล์ได้

โปรแกรมดู PDF ที่ถามรหัสผ่านเพื่อเปิดไฟล์ PDF ที่เข้ารหัส

จำไว้ว่า qpdf จะไม่เปลี่ยน PDF ที่มีอยู่ มันสร้างใหม่ด้วยการเปลี่ยนแปลงที่เราได้ขอให้ทำ ดังนั้น หากคุณสร้าง PDF ที่เข้ารหัส คุณจะยังมีเวอร์ชันดั้งเดิมที่ไม่ได้เข้ารหัส คุณอาจต้องการลบ PDF ต้นฉบับหรือเก็บไว้อย่างปลอดภัย ทั้งนี้ขึ้นอยู่กับสถานการณ์ของคุณ

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

 qpdf --decrypt --password=goose.goat.gibbon secret.pdf Unlocked.pdf 

การสร้าง PDF ที่ถอดรหัสจาก PDF ที่เข้ารหัส

“unlocked.pdf” สามารถเปิดได้โดยไม่ต้องใช้รหัสผ่าน

qpdf เป็นเครื่องมือที่ยอดเยี่ยม

เราประทับใจมากกับ qpdf มีชุดเครื่องมือที่ยืดหยุ่นและมีคุณลักษณะครบถ้วนสำหรับการทำงานกับไฟล์ PDF และมันก็เร็วมากด้วย

ตรวจสอบเอกสารที่เขียนมาอย่างดีและมีรายละเอียดเพื่อดูว่าสามารถทำอะไรได้อีกมากเพียงใด