Score:2

วิธีใส่ PDF หลายไฟล์ในหน้าเดียว (เช่น สี่ต่อหนึ่ง / 4 ต่อ 1) โดยคงคำอธิบายประกอบไว้

ธง us

ฉันมีเอกสาร PDF (สไลด์) พร้อมคำอธิบายประกอบด้วยปากกา สำหรับเอกสารแจก ฉันต้องการพิมพ์แบบ 4 ต่อ 1 และแน่นอน รวมทั้ง คำอธิบายประกอบ

มีวิธีแก้ไขปัญหาบางอย่างใน StackOverflow ที่อธิบายว่าการพิมพ์แบบ 4 ต่อ 1 นี้สำเร็จได้อย่างไร แต่ตามค่าเริ่มต้นแล้ว โซลูชันเหล่านี้จะไม่รักษาคำอธิบายประกอบไว้ ปัญหาที่นี่ดูเหมือนจะเป็นคำอธิบายประกอบที่อยู่ในเลเยอร์อื่นของ PDF ซึ่งถูกละเว้นในการแปลงมาตรฐานเหล่านี้ที่รวมหลายหน้าไว้ในหน้าเดียว

ดังนั้นคำถามคือวิธีการพิมพ์ 'หลายหน้าบนหน้าเดียว' โดยไม่เพิกเฉย/ละทิ้งคำอธิบายประกอบ

us flag
นี่เป็นคำถามที่ถูกต้องอย่างสมบูรณ์สำหรับ Ubuntu เพราะมันไม่เหมือน "วิธีการทำสิ่งนี้โดยใช้จาวาสคริปต์" แต่เป็น "วิธีการทำเช่นนี้ด้วยเครื่องมือที่มีอยู่ใน Ubuntu"
Score:5
ธง us

คำอธิบายใช้งานได้กับ:

อูบุนตู 21.04
pdfjam 3.03
GPL Ghostscript 9.53.3 (2020-10-01)

ฉันสร้างคำถามนี้หลังจากพบวิธีแก้ไขแล้ว -- เพื่อให้ง่ายขึ้นสำหรับผู้อื่น (เนื่องจากบางคำสั่งที่ฉันพบนั้นล้าสมัย เป็นต้น)

กุญแจสำคัญในการหาทางออกคือการรู้ว่าการ 'รักษา' คำอธิบายประกอบนั้นเรียกว่า 'การทำให้แบนราบ' ซึ่งโดยหลักแล้วจะทำให้ชั้นของคำอธิบายประกอบอยู่ในชั้น 'มาตรฐาน'

ดังนั้นเราจึงมีสามขั้นตอน:

  1. แบน: pdf2ps -q -sOutputFile=- input.pdf | ps2pdf - out-flat.pdf
  2. การรวม 4on1: pdfjam --nup 2x2 out-flat.pdf --outfile out-4on1.pdf --แนวนอน

สำหรับฉัน ขั้นตอนที่ 1 สร้าง PDF ที่มีขนาดใหญ่กว่าต้นฉบับมาก ดังนั้นขั้นตอนที่สามทางเลือกอาจเป็นการบีบอัด:

  1. การบีบอัด: gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -q -o out-4on1-compressed.pdf out-4on1.pdf

โปรดทราบว่าสำหรับการบีบอัด มีอัตราการบีบอัดหลายอัตราที่คุณสามารถเลือกได้ อัตราที่เลือกที่นี่ (ebook) เป็นอัตราที่ดีที่สุดสำหรับวัตถุประสงค์ของฉัน รายละเอียดเพิ่มเติมด้านล่าง

เนื่องจากฉันจะต้องทำสิ่งนี้เป็นประจำ ฉันจึงสร้างสคริปต์ที่สะดวกสำหรับสิ่งนั้น หวังว่าจะเป็นประโยชน์กับผู้อื่นเช่นกัน!

#!/bin/sh

# อาร์กิวเมนต์ 1: ใส่ชื่อไฟล์
# อาร์กิวเมนต์ 2: อัตราการบีบอัด (ไม่บังคับ)

# ลบไฟล์ที่ลงท้ายเพื่อให้สามารถเปลี่ยนชื่อไฟล์ได้
ชื่อไฟล์=$(ชื่อฐาน -- "$1")
นามสกุล="${ชื่อไฟล์##*.}"
คำนำหน้า = "${filename%.*}"

# รวบรวมคำอธิบายประกอบในเลเยอร์หลัก
pdf2ps -q -sOutputFile=- $1 | ps2pdf - $prefix-flattened.pdf

# ใส่ 4 สไลด์เป็นหนึ่งต่อหน้าโหมดแนวนอน
pdfjam --nup 2x2 $prefix-flattened.pdf --outfile $prefix-4on1-largeFile.pdf --landscape

#บีบอัด
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/${2:-ebook} -q -o $prefix-4on1.pdf $prefix-4on1-largeFile.pdf

# ลบไฟล์ระดับกลาง
rm ./$prefix-flattened.pdf
rm ./$prefix-4on1-largeFile.pdf

อย่าลืมทำให้ไฟล์สคริปต์เรียกใช้งานได้ (เช่น via chmod +x 4on1-script.sh). สคริปต์จะลบไฟล์ระดับกลางทั้งหมดนอกจากนี้ยังสร้างชื่อไฟล์ที่มีประโยชน์ซึ่งจำเป็นต้องมี 'ระบุ' คำนำหน้าของไฟล์ อาร์กิวเมนต์แรกคือชื่อไฟล์อินพุต อาร์กิวเมนต์ที่สองเป็นทางเลือกและกำหนดคุณภาพการบีบอัด ค่าเริ่มต้นคือ ebook ค่าอื่นๆ คือ:

  • หน้าจอ: เลือกเอาต์พุตความละเอียดต่ำที่คล้ายกับการตั้งค่า "Screen Optimized" ของ Acrobat Distiller
  • ebook: เลือกเอาต์พุตที่มีความละเอียดปานกลางคล้ายกับการตั้งค่า "eBook" ของ Acrobat Distiller (เลือกที่นี่)
  • เครื่องพิมพ์เลือกเอาต์พุตที่คล้ายกับการตั้งค่า Acrobat Distiller "Print Optimized"
  • Prepress เลือกผลลัพธ์ที่คล้ายกับการตั้งค่า Acrobat Distiller "Prepress Optimized"
  • ค่าเริ่มต้นจะเลือกเอาต์พุตที่ตั้งใจให้มีประโยชน์ในการใช้งานที่หลากหลาย ซึ่งอาจทำให้ไฟล์เอาต์พุตมีขนาดใหญ่ขึ้น

หากคุณชอบโซลูชันนี้ ลองพิจารณาชอบโซลูชันที่ฉันอิงตามนี้ด้วย:

โพสต์คำตอบ

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