URL ที่คลิกได้ในเอาต์พุต PDF ที่สร้างโดย Inkscape / SVG


12

ฉันคิดว่าชื่อค่อนข้างอธิบายปัญหาได้

ฉันใช้ Inkscape เพื่อเขียนเอกสาร SVG และแปลงเป็น PDF เพื่อแบ่งปันบนเว็บ (ทำให้ SVG เป็นไฟล์ต้นฉบับปลอดภัยยิ่งขึ้น)
ฉันมี URL จำนวนมากในเอกสารนี้ ฉันรู้ว่าลิงก์ภายใน (คลิกได้และไม่จำเป็นต้องแสดง URL ทั้งหมดบนหน้าจอ) ไม่ได้มีความหมายอะไรมากมายในภาพ SVG และบิตแมป

การแก้ไขไฟล์ PDF เอาต์พุตและการเพิ่มลิงก์นั้นทำได้ยากมากเพราะรูปแบบ PDF นั้นซับซ้อนและน่ารังเกียจ (เว้นแต่จะมีโปรแกรมแก้ไขที่ใช้งานง่าย)
วิธีเพิ่มลิงก์ดังกล่าวได้อย่างง่ายดาย (โดยเฉพาะใน Inkscape / SVG)


ในที่สุดฉันก็ต้องย้ายลิงก์ทั้งหมดของฉันไปยังหน้าแยกต่างหากที่ฉันสร้างด้วย LibreOffice Draw และส่งออกเป็น pdf และรวมไฟล์ PDF หลายไฟล์เข้าด้วยpdftkกัน
saeedgnu

คำตอบ:


7

ทางออกที่ดีที่สุดที่ฉันพบว่าลิงก์ของคุณทำงานใน PDF ที่สร้างจาก Inkscape คือ:

  1. บันทึกจาก Inkscape ในชื่อ "Plain SVG"
  2. เปิดใน Chrome ไฟล์ SVG ธรรมดา
  3. จาก Chrome: พิมพ์ / บันทึกเป็น PDF

นั่นไม่ได้ผลกับ svg ที่ซับซ้อนของฉัน svg ธรรมดาแสดงอย่างเหมาะสมกับ Chrome แต่เอาต์พุต pdf ของ Chrome นั้นยุ่งเหยิงไปหมด! และ URL ไม่สามารถคลิกได้เช่นกัน ให้การเชื่อมโยงภายในเพียงอย่างเดียวไม่ได้ด้วยวิธีนี้ (คุณต้องติดแท็กรูปแบบเช่น BBCode หรือ HTML)
saeedgnu

สิ่งนี้จะเกิดขึ้นถ้าฉัน "พิมพ์เป็น PDF" แต่ถ้าฉันบันทึกเป็น pdf ไฟล์เอาต์พุตจะแสดงอย่างถูกต้องกับโปรแกรมอ่าน pdf ของฉัน แต่ URL ยังไม่สามารถคลิกได้ และการซูมข้อความไม่ทำงาน (เหมือนภาพบิตแมป)
saeedgnu

7

จากทฤษฎีของKirályฉันเขียนสคริปต์หลามอย่างหนาแน่นเพื่อเพิ่มไฮเปอร์ลิงก์ไปยัง PDF ที่สร้างขึ้น

คำแนะนำทั้งหมดเกี่ยวกับสิ่งที่คุณต้องการและวิธีใช้นั้นมีให้ในส่วนหัวของสคริปต์ ฉันได้ทดสอบสิ่งนี้ด้วยซอฟต์แวร์ที่ทันสมัยของฉัน หากคุณพบปัญหาเนื่องจากรุ่น inkscape / qpdf ที่แตกต่างกันให้ฉันส่งอีเมลพร้อมไฟล์ของคุณและฉันจะดูว่าฉันสามารถช่วยได้

แก้ไข: ฉันได้เขียนสคริปต์นี้ใหม่ใน Go ด้วยการใช้งานที่ดีขึ้นมาก ตอนนี้คุณเพียงแค่เพิ่มไฮเปอร์ลิงก์ไปยังวัตถุโดยใช้ตัวเลือก "สร้างลิงก์" เมื่อคลิกขวาแล้วเรียกใช้svglinkifyโปรแกรม


1

วิธีหนึ่ง (ทางอ้อม) หากลิงก์ของคุณอ้างอิงข้อความจะต้องผ่านลาเท็กซ์

เมื่อส่งออก PDF ให้ทำเครื่องหมายในช่อง "อย่าใส่ข้อความ แต่สร้างไฟล์ลาเท็กซ์" จากนั้นพิกัดของวัตถุข้อความจะมีอยู่ในไฟล์. pdf_tex ซึ่งคุณจะต้องเพิ่มลิงก์ด้วยตนเอง pdflatexคอมไพล์แล้วด้วย


ใน Inkscape 0.48 ตัวเลือกนี้มีชื่อว่า "PDF + Latex: ละเว้นข้อความใน PDF และสร้างไฟล์ LaTeX" ผมไม่ทราบว่าเท็กซ์มาก แต่ขอบคุณครับ :)
saeedgnu

1

หากคุณประสบปัญหาใน Inkscape คุณสามารถแก้ไขไฟล์ PDF พร้อมลิงก์ที่แนบมาได้จากที่นี่: http://www.pdfescape.com/open/


2
แม้ว่าคำตอบของคุณจะถูกต้อง 100% แต่ก็อาจกลายเป็นไร้ประโยชน์ 100% หากลิงก์นั้นถูกย้ายเปลี่ยนแปลงรวมเข้ากับเว็บไซต์อื่นหรือเว็บไซต์หลักเพิ่งหายไป ... :-(ดังนั้นโปรดแก้ไขคำตอบของคุณและคัดลอกที่เกี่ยวข้อง ขั้นตอนจากลิงก์ไปยังคำตอบของคุณดังนั้นรับประกันคำตอบของคุณ 100% ของอายุการใช้งานของเว็บไซต์นี้! ;-)คุณสามารถทิ้งลิงค์ไว้ที่ด้านล่างของคำตอบของคุณเป็นแหล่งข้อมูลสำหรับวัสดุของคุณ ...
Donald Duck

@DonaldDuck: ลิงก์ชี้ไปที่เครื่องมือออนไลน์ (ไม่มีขั้นตอนที่เกี่ยวข้อง)
Clément

-1

ในทางทฤษฎีคลิกขวาบนวัตถุใด ๆ แล้วคลิก "สร้างลิงก์" จากนั้นคลิกขวาอีกครั้งบนวัตถุเดียวกันสำหรับ "คุณสมบัติลิงก์" ...

ตามหลักวิชา .)


เราได้นำทฤษฎีของคุณเพื่อชีวิต =]
Mansour

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

-1
  • คลิกขวาที่วัตถุที่ต้องการ
  • คลิก "สร้างลิงค์"
  • หน้าต่างจะเปิด .. ในฟิลด์ "href" ให้เพิ่ม URL ของคุณ
  • บันทึกเอกสารของคุณเป็น SVG
  • เปิดเอกสารของคุณด้วย Google Chrome และกด Ctrl + P
  • คลิกขวาที่ตัวอย่างเอกสารของคุณแล้วคลิก "ตรวจสอบองค์ประกอบ"
  • คัดลอกลิงก์ในช่อง "src" และเปิดด้วย Google Chrome เอกสารจะเริ่มดาวน์โหลดเป็นเอกสาร PDF
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.