เป็นไปได้ไหมที่จะแปลง PostScript เป็น SVG (Inkscape)


10

เป็นไปได้ไหมที่จะแปลงไฟล์ PostScript เป็น SVG

จากคำตอบใน Tex.SEฉันพยายามใช้ inkscape:

inkscape test.ps --export-inkscape-svg=test.svg

สิ่งนี้ทำให้เกิดไฟล์ SVG แต่เปลี่ยนแบบอักษรและลบระยะห่างระหว่างตัวอักษร เป็นตัวอย่างการทำงานที่น้อยที่สุดฉันสร้างไฟล์ PostScript ที่มีข้อความเท่านั้น (แม้ว่าไฟล์ดั้งเดิมของฉันจะมีทั้งข้อความและกราฟิก) ภาพต่อไปนี้แสดงไฟล์ PostScript (ด้านบน) และไฟล์ SVG ที่เป็นผลลัพธ์ (ด้านล่าง):

ป้อนคำอธิบายรูปภาพที่นี่

วิธีที่ถูกต้องในการแปลง PS เป็น SVG คืออะไร?


2
ตามที่คุณเห็น: Inskscape ควรเป็นวิธีที่จะทำ ความจริงมันล้มเหลวหมายความว่ามีข้อบกพร่องในโปรแกรม ดังนั้นนอกเหนือจากความแออัดอื่น ๆ ที่นี่มันจะดีถ้าคุณได้รายงานปัญหาที่คุณมีต่อผู้พัฒนา Inkscape - คุณสามารถทำสิ่งนั้นได้หรือไม่? ที่อยู่คือ: bugs.launchpad.net/inkscape เมื่อคุณทำเช่นนั้นให้แนบไฟล์ postscript ที่ทำให้เกิดปัญหาเช่นไฟล์ที่คุณใช้กับภาพหน้าจอที่นี่ ซอฟต์แวร์ฟรีเช่น Inscape บางครั้งก็ไม่มีนักพัฒนาที่ต้องเสียค่าใช้จ่ายและต้องพึ่งพาฐานผู้ใช้เพื่อช่วยเหลือปัญหาเช่นการค้นหาและการรายงานปัญหา
jsbueno

คำตอบ:


6

ขออภัยนี่จะไม่ตอบคำถามของคุณ: "วิธีแปลง PS เป็น SVG เป็นวิธีที่ถูกต้องคืออะไร"

ไม่มี "วิธีที่ถูกต้อง" มี "วิธีที่เป็นไปได้" โลกนี้มันซับซ้อนเกินไป

อย่างที่ฉันพูดถึงในความคิดเห็นฉันจะลองใช้ Inkscape ด้วยตัวเอง คุณพบปัญหาในโปรแกรม - ให้ฉันถามคุณ: ไฟล์ PS ของคุณแสดงอย่างถูกต้องในที่อื่นนอกเหนือจากที่คุณสร้างมันขึ้นมาหรือไม่? คุณสามารถแนบไฟล์ minimalist ไปกับคำถามได้หรือไม่

ตอนนี้วิธีอื่นในการลอง: ghostscriptเป็น postscript ที่มีประสิทธิภาพซึ่งมีโหมด "ps-to-ps" ซึ่งทำให้ไฟล์ Postscritp ง่ายขึ้นเพื่อให้ได้โปรแกรม "อื่น ๆ " ที่ง่ายขึ้น หากคุณยังไม่มีมันฉันขอแนะนำให้คุณรับมัน

สามารถส่งออก SVG - แต่คุณจะรู้ว่าไฟล์ของคุณแสดงผลถูกต้องหรือไม่ (ด้วยการเว้นวรรคและแบบอักษร) และที่สองคุณสามารถใช้โหมด "ps2ps" ของ Ghostscript เพื่อสร้างไฟล์ Postscript รองที่คุณสามารถลองนำเข้าสู่ inkscape นี่เป็นโอกาสที่จะประสบความสำเร็จเนื่องจากควรจัดการกับตัวเลือกข้อความที่ใช้น้อยลงหรือไม่ได้มาตรฐานซึ่ง Inkscape ล้มเหลวที่จะเข้าใจ

Ghostscript อาจจะค่อนข้าง "หยาบ" ในการใช้งาน - เป็นเครื่องมือของนักพัฒนาไม่ใช่เครื่องมือของนักออกแบบ (มันถูกใช้โดยตรงในฐานะไดรเวอร์เครื่องพิมพ์สำหรับระบบปฏิบัติการบางระบบ) ดังนั้นคุณอาจต้องขุดลงในเอกสารของมันสักหน่อย (หรือ ถามอีกครั้ง) เพื่อให้ส่วนของ postscript-to-postscript ทำงาน การรับโปรแกรมสหาย "gsview" ซึ่งช่วยให้หน้าต่าง Postscript แปลก ๆ อาจช่วยได้เช่นกัน


2

ฉันขอแนะนำให้เปิดไฟล์ PostScript ใน Adobe Illustrator ซึ่งรวมไฟล์ EPS เช่นน้ำนมแม่และมีฟังก์ชั่นการส่งออก SVG

1. นำเข้าองค์ประกอบหรือเปิดโดยตรง (EPS)
2. อย่าลืมเลือกตัวเลือก "แสดงเส้นตารางโปร่งใส" ภายใต้มุมมองถ้าคุณต้องการพื้นหลังโปร่งใส
3. บันทึกเป็น - เลือก SVG

ฉันจะสมมติว่าคุณใช้ SVG สำหรับเว็บ - เก็บค่าขอบเขตของไฟล์ / สีใน RGB และตั้งค่าความละเอียดของเอกสารเป็นหน้าจอมากกว่าความละเอียดการพิมพ์ในการตั้งค่า Raster (In Effects)

ความจริงที่ว่าการตั้งค่าเหล่านี้อยู่ในเกือบทุกมุมของแอพเป็นส่วนหนึ่งของสิ่งที่ทำให้ Adobe ไร้สาระ


2

ด้วยความช่วยเหลือของpstoedit :

barcode -e ean -b 4003994155486 | pstoedit -q -f fig | fig2dev -L svg

ในตัวอย่างนี้barcodeแสดงผล PostScript จากนั้นpstoeditนำไปใช้และ quetly ( -q) แปลงเป็นรหัส fig ซึ่งจะถูกแปลงเป็น SVG โดย fig2dev

เมื่อใช้ Inkscape คุณจะต้องผ่านไฟล์ต่างๆเพราะ Inkscape อาศัยชื่อไฟล์อินพุตในการตรวจจับรูปแบบ:

barcode -e ean -b 4003994155486 > example.eps
inkscape -z example.eps --export-plain-svg /dev/stdout

คุณสามารถขยายออกไปเล็กน้อยเพื่ออธิบายเครื่องมือนี้คืออะไร? อย่างน้อยตัวเลือกเหล่านี้คืออะไร?
Luciano

@Luciano ทำเช่นนั้น
sanmai

ใน linux คุณสามารถใช้โปรแกรม man เพื่ออ่านคู่มือ สิ่งนี้จะบอกคุณเกี่ยวกับการทำงานทั้งหมดของ pstoedit และ fig2dev ฉันไม่ได้ติดตั้งบาร์โค้ด แต่ฉันคิดว่ามันจะใช้งานได้เหมือนกัน คุณสามารถพิมพ์ในเทอร์มินัล: man fig2dev สิ่งนี้จะบอกคุณเกี่ยวกับ fig2dev และตัวเลือกต่างๆ ในกรณีของฉันฉันไม่ได้ใช้ยูทิลิตี้บาร์โค้ด แต่ใช้ไฟล์ ps ที่ฉันสร้างขึ้นมาแล้ว ฉันทำการแปลงและเอาท์พุทด้วยคำสั่งนี้: pstoedit -q -f fig sqrsDup.ps | fig2dev -L svg > test.svg sqrsDup.ps เป็นไฟล์ที่ฉันสร้างขึ้นแล้วและ test.svg เป็นไฟล์ที่ส่งออก
j0h
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.