“ Print to File” คืออะไรและสามารถใช้งานได้จากบรรทัดคำสั่ง?


12

เมื่อคุณเลือก "พิมพ์เป็นไฟล์" ในกล่องโต้ตอบการพิมพ์ Gnome (ไม่ใช่ถ้วย -DPS):

พิมพ์ไปไฟล์

... อะไรคือคำสั่งจริงที่ถูกเรียกใช้งาน? (ฉันสนใจตัวแปรชุดคำลงท้ายตามภาพ)

ในทางกลับกัน - อาจไม่มีการเรียกใช้คำสั่ง อาจเป็นได้gtk_print_operation_set_export_filenameจากGtk + Printing API ใหม่หรือไม่

ไม่ว่าในกรณีใด - มีวิธีให้ฉันใช้รหัสเฉพาะนี้จากบรรทัดคำสั่ง (ไม่ใช่pdf2psและไม่ชอบ) หรือไม่ พูดโดยใช้คำlprสั่ง "print to file" เป็นไฟล์ postscript - ราวกับว่าฉันใช้กล่องโต้ตอบด้านบน?


3
AFAIK นี่เป็นคุณสมบัติของระบบย่อยที่ใช้โดยแอพพลิเคชั่น GNOME และ GTK + บางตัวในการพิมพ์เนื้อหา (บางส่วนใช้ไคโร) lprโต้ตอบกับcupsโดยตรงตัวเลือกการพิมพ์เป็นไฟล์ข้ามเซิร์ฟเวอร์การพิมพ์อย่างสมบูรณ์ มันอาจจะไม่เรียกคำสั่งมันแค่เรียกฟังก์ชั่นการแสดงผลไคโรในรูปแบบที่แตกต่างกันดังนั้นมันจึงสร้างเอาต์พุต pdf, postscript หรือ svg ไปยังไฟล์
njsg

อ่าดังนั้นไคโรจึงกลับมาอยู่ที่นั่น! ความคิดใด ๆ หากมีบรรทัดคำสั่งที่เปรียบเทียบได้ซึ่งสามารถเรียกใช้ฟังก์ชันการเรนเดอร์นี้ในลักษณะเดียวกับกล่องโต้ตอบการพิมพ์ ขอบคุณมากสำหรับความคิดเห็น @njsg - ไชโย!
sdaau

3
อาจมีเครื่องมือบรรทัดคำสั่ง cairo (ฉันไม่รู้จริงๆ) แต่ฉันคิดว่ามันค่อนข้างยุ่งยากเพราะแอปพลิเคชันจำนวนมากใช้ cairo เพื่อพิมพ์เอกสารของตัวเองและแอปพลิเคชันนั้นเป็นสิ่งที่เข้าใจรูปแบบไฟล์ได้ . ไคโรจะไม่สามารถอ่านไฟล์สุ่มได้ ที่ใกล้เคียงที่สุดคุณจะได้รับคือการตรวจสอบว่าโปรแกรมที่มีกล่องโต้ตอบมีตัวเลือกบรรทัดคำสั่งบางตัวเพื่อพิมพ์ไฟล์โดยไม่ต้องเปิด GUI
njsg

ขอบคุณที่อธิบายว่า @njsg - ภาพหน้าจอด้านบนนั้นมาจากevinceกล่องโต้ตอบการพิมพ์ น่าเสียดายที่ฉันไม่เห็นสวิตช์บรรทัดคำสั่งใด ๆevinceที่จะทำสิ่งนี้ .. ไชโย!
sdaau

นี่เป็นเพียงแบบแผน UI แต่ละโปรแกรมสามารถทำสิ่งที่พวกเขาต้องการได้ในหลักการเมื่อเลือก "Print to file"
vonbrand

คำตอบ:


4

คุณสามารถใช้cups-pdfแพ็คเกจเป็นวิธีแก้ปัญหาที่เป็นอิสระจาก gnome หลังจากติดตั้งแพคเกจเพิ่มเครื่องพิมพ์ PDF โดยใช้ถ้วยเว็บอินเทอร์เฟซที่http://localhost:631อธิบายไว้ที่นี่ (' ทั่วไป' ในฐานะผู้ผลิตเครื่องพิมพ์ CUPS-PDF เป็นไดรเวอร์ )

เพื่อความสะดวกของคุณเปลี่ยนไดเรกทอรีออกที่มีตัวเลือกOutในการ/etc/cups/cups-pdf.confที่จะชอบ${HOME}หรือสิ่งที่คุณต้องการ จากนั้นทำตามที่ @ Noam แนะนำให้พิมพ์ไปที่ไฟล์


2
lpr -P "Print_to_PDF" file_to_print

lpstat -p -dที่จะได้รับรายชื่อของเครื่องพิมพ์กำหนดค่าในปัจจุบันที่วิ่ง


mmm, -P "Print_to_PDF" ให้ข้อผิดพลาดนี้แก่ฉัน "lpr: เครื่องพิมพ์หรือคลาสไม่มีอยู่"
Aubrey

0

คุณยังสามารถใช้คำสั่งlp printing เพื่อพิมพ์ไฟล์ไปยังเครื่องพิมพ์เริ่มต้น (หรือเฉพาะ) บนระบบ:

lp filename

หรือไปยังเครื่องพิมพ์เฉพาะ

lp -d printer filename

0

Print-to-file ส่งเอกสารไม่ได้ไปยังเครื่องพิมพ์ แต่เป็นเอกสาร pdf

สามารถทำได้ด้วยระบบการพิมพ์ถ้วยซึ่งแอปพลิเคชันของคุณใช้เมื่อส่งคำสั่งการพิมพ์

ใช้เครื่องมือ cupsfilter มันแปลงเอกสารได้อย่างมีประสิทธิภาพ มันจะแปลงเป็น PDF เป็นค่าเริ่มต้น

$ cupsfilter inputfilename > outputfilename.pdf

ตามที่อธิบายไว้ที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.