ตกลงคุณแก้ไขได้ด้วยการเข้าถึงไฟล์ต้นฉบับของไฟล์ PDF ของคุณไฟล์ Powerpoint คุณจะทำอย่างไรถ้าคุณต้องการบรรลุสิ่งเดียวกันโดยไม่ต้องเข้าถึงแหล่งข้อมูล
ขอผมถ่ายนี่หน่อย ฉันจะใช้ ...
- Ghostscript สำหรับการวางและเลื่อนหน้า PDF อินพุตไปยังขนาดสื่อใหม่
- pdftk เพื่อวางซ้อนหน้า PDF ที่แตกต่างกันสองหน้าลงในหน้าเดียว
ขั้นตอนแรก: Ghostscript เพื่อวางรูปภาพบนสื่อขนาดใหญ่
นี่คือสิ่งที่เราต้องการบรรลุด้วยความช่วยเหลือของ Ghostscript ในขั้นตอนนี้:
+-----------+-----------------------+
| Original | Ghostscript-output |
+===========+=======================+
| +---+ | +---+---+ (right |
| | p | | | p | | half |
| | 1 | | | 1 | | of sheet |
| +---+ | +---+---+ empty) |
| | |
| +---+ | +---+---+ (left |
| | p | | | | p | half |
| | 2 | | | | 2 | of sheet |
| +---+ | +---+---+ empty) |
+-----------+-----------------------+
นี่เป็นคำสั่งแรกที่ใช้:
gswin32c.exe ^
-o left-side-outputs.pdf ^
-sDEVICE=pdfwrite ^
-g7920x6120 ^
-dPDFSETTINGS=/prepress ^
-c "<</PageOffset [0 0]>>setpagedevice" ^
-f powerpoint.pdf
ฉันเลื่อนภาพหน้าทั้งหมดโดย ... ไม่มีอะไร แต่วางไว้บนแผ่นที่ใหญ่กว่า ฉันขี้เกียจเกินกว่าจะพิมพ์และอธิบายตัวเลือกทั้งหมดที่จำเป็นในการเลือกหมายเลขหน้าคี่เท่านั้นดังนั้นตอนนี้ฉันก็ทำเช่นนี้สำหรับทุกหน้า - ดังนั้นนี่คือสิ่งที่เรา ไม่ บรรลุตอนนี้:
+-----------------------+
| Ghostscript-output |
+=======================+
| +---+---+ (right |
| | p | | half |
| | 1 | | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (right |
| | p | | half |
| | 2 | | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (right |
| | p | | half |
| | 3 | | of sheet |
| +---+---+ empty) |
| ......... |
+-----------------------+
(left-side-outputs.pdf)
ตอนนี้วางภาพทั้งหมดไปทางขวา:
gswin32c.exe ^
-o right-side-outputs.pdf ^
-sDEVICE=pdfwrite ^
-g7920x6120 ^
-dPDFSETTINGS=/prepress ^
-c "<</PageOffset [396 0]>>setpagedevice" ^
-f powerpoint.pdf
นี่คือสิ่งที่เราทำได้ด้วยคำสั่งที่สอง:
+-----------------------+
| Ghostscript-output |
+=======================+
| +---+---+ (left |
| | | p | half |
| | | 1 | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (left |
| | | p | half |
| | | 2 | of sheet |
| +---+---+ empty) |
| |
| +---+---+ (left |
| | | p | half |
| | | 3 | of sheet |
| +---+---+ empty) |
| ......... |
+-----------------------+
(right-side-outputs.pdf)
ขั้นตอนที่สอง: ใช้ pdftk.exe เพื่อซ้อนทับหน้าคู่
ในกรณีที่คุณยังไม่ได้ติดตั้งให้ดาวน์โหลด จากที่นี่ . ไม่จำเป็นต้องติดตั้งจริง มันเป็นไฟล์. exe ซึ่งทำงานได้จากทุกที่ เราต้องการทำให้ผลลัพธ์เป็นดังนี้:
+---------------------+-------------+
| pdftk input | pdftk output|
+=====================+=============+
| +---+---+ (right | +---+---+ |
| | p | | half | | p | p | |
| | 1 | | of sheet | | 1 | 2 | |
| +---+---+ empty) | +---+---+ |
| | |
| +---+---+ (left | |
| | | p | half | |
| | | 2 | of sheet | |
| +---+---+ empty) | |
+---------------------+-------------+
เราจะใช้คำสั่งเหล่านี้:
pdftk.exe ^
A=left-side-outputs.pdf ^
B=right-side-outputs.pdf ^
cat A1 B2 ^
output 2up-powerpoint-page-1.pdf ^
verbose
pdftk.exe ^
A=left-side-outputs.pdf ^
B=right-side-outputs.pdf ^
cat A3 B4 ^
output 2up-powerpoint-page-2.pdf ^
verbose
ตกลงจนถึงตอนนี้เราสร้างสองหน้าแรกขึ้นสองครั้ง ... อย่างไรก็ตามตอนนี้ฉันต้องการเชื่อมสองหน้าสองหน้านี้ให้เป็นไฟล์เดียว:
pdftk.exe ^
A=2up-powerpoint-page-1.pdf ^
B=2up-powerpoint-page-2.pdf ^
cat A B ^
output 2up-powerpoint-all.pdf
ตอนนี้คุณควรมีแรงบันดาลใจมากพอที่จะประมวลผลหน้าเว็บที่เหลือ ... หากคุณมีความทะเยอทะยานอย่างยิ่งคุณจะเขียนสคริปต์ด้วย commandline เดียวโดยใช้สองซ้อน for /l ...
ลูป ;-)