MS Word 2007+ - สามารถเข้ารหัสไฮเปอร์ลิงก์ได้หรือไม่โดยใช้ประเภทคำสั่ง PDF“ เรียกใช้” แทน“ URI” เมื่อทำการเผยแพร่ไฟล์“ .docx” เป็น PDF


9

เวอร์ชั่นสั้น:

  • มีวิธีใดที่ฉันสามารถสร้าง MS Word 2007 (หรือใหม่กว่า) เข้ารหัสการเชื่อมโยงหลายมิติของไฟล์ที่สัมพันธ์กัน (การเชื่อมโยงหลายมิติที่ชี้ไปเช่นไฟล์ PDF อื่น) โดยใช้ประเภทการกระทำLaunchแทนURI(ทั้งสองประเภทที่ระบุในหน้า 653 ของ Adobe Portable Document Format ข้อมูลอ้างอิง PDF รุ่น 1.7 รุ่นที่หก - http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/pdf_reference_1-7.pdf )? หรือเป็นทางออกเดียวที่ใช้โพสต์โปรเซสเซอร์ซึ่งสามารถเปลี่ยนURIไฮเปอร์ลิงก์ไฟล์ที่"ผิด" ทั้งหมดให้Launchเทียบเท่าได้?

รุ่นที่อธิบายแล้ว:

ฉันมีเอกสาร Word สองชุด doc1.docxและdoc2.docx(ทั้งคู่รวบรวมกับ MS Word 2007)

ในdoc1.docxฉันวางไฮเปอร์ลิงก์ไปยังเอกสาร PDF รุ่นที่สองของฉัน ( doc2.pdf) - ดังนั้นตอนนี้ฉันได้รับ:

คุณสมบัติของ <code> doc2.pdf </code> ไฮเปอร์ลิงก์ใน <code> doc1.docx </code>

ฉันบันทึกdoc1.docxไฟล์เป็นทั้งสองอย่าง.docxและ.pdf- การPDFสร้างถูกจัดการโดยผู้เผยแพร่ PDF ในตัวใน MS Word 2007 โดยใช้ตัวเลือกต่อไปนี้:

คุณสมบัติการเผยแพร่ PDF ของ MS Word 2007

ดีมาก - ฉันมีโครงสร้างโฟลเดอร์ต่อไปนี้:

/superuser
    - doc1.docx
    - doc1.pdf
    - doc2.docx
    - doc2.pdf

แล้วฉันจะเปิดdoc1.pdfด้วยโปรแกรม Adobe Reader X (รุ่น 10.1.3) doc2.pdfและคลิกที่ชี้เชื่อมโยงไปยัง ขณะที่การเชื่อมโยงเป็นญาติผมจะเดา / สันนิษฐานว่า Adobe Reader X ก็จะเปิดไฟล์ PDF เป้าหมายทั้งในหน้าต่างแยกต่างหากหรือในกรณีเดียวกันของ Adobe Reader X (ขึ้นอยู่กับตัวเลือกที่Open cross-document links in same windowระบุไว้ใน: Edit -> Preferences -> Documents)

อย่างไรก็ตามนั่นไม่ใช่กรณี แต่โปรแกรม Adobe Reader X แก้ไขเชื่อมโยงหลายมิติโดยใช้เบราว์เซอร์เริ่มต้น (ในกรณีของฉัน Google Chrome V21 + บน Windows 7 x64) - และเพื่อให้ชัดเจน - ปัญหานี้เป็นปัญหา ฉันต้องการ Adobe Reader X (และรุ่นก่อนที่สุด) เพื่อแก้ไขไฮเปอร์ลิงก์โดยเปิด PDF เป้าหมายในอินสแตนซ์อื่นของ Adobe Reader X (สมมติว่าฉันไม่ได้Open cross-document links in same windowเลือกตัวเลือก) ทำซ้ำสถานการณ์เดียวกันโดยใช้โปรแกรมอ่าน PDF ของฉัน (ค่าเริ่มต้น) สุมาตรา PDF ทำงานตามที่คาดไว้ - สุมาตรา PDF เปิดไฟล์ PDF เป้าหมายในหน้าต่างแยกต่างหากและแสดงเนื้อหาของdoc2.pdf. เหตุใดจึงไม่ใช้ PDF ของสุมาตราแล้วคุณถาม ฉันชอบที่จะรัก - แต่ปัญหาคือว่าฉันกำลังทำงานในโครงการที่มีผู้ใช้จำนวนมากและฉันไม่สามารถสรุปได้ว่าพวกเขาทั้งหมดใช้โปรแกรมอ่าน PDF อื่นนอกเหนือจาก Adobe Reader X - ดังนั้นจึงไม่มีวิธีอื่น ๆ ที่รู้ว่าเกิดอะไรขึ้นกับ Adobe Reader X

เพื่อไปถึงที่นั่นฉันเริ่มขุด

ขั้นแรกโดยการดูที่แถบที่อยู่ใน Chrome จะเห็นว่า Adobe Reader X พยายามแก้ไขdoc2.pdfโดยใช้fileรูปแบบ URI: file:///C:/superuser/doc2.pdf- ซึ่งดูเหมือนว่ายุติธรรมสำหรับฉัน (การวาง URI เดียวกันลงในRunกล่องโต้ตอบใน Windows 7 ทำให้ PDF Reader เริ่มต้นของฉัน (Sumatra PDF ) เพื่อเปิดไฟล์) - แต่ทำไม Adobe Reader X จึงขอให้เบราว์เซอร์เริ่มต้นจัดการกับ PDF

เพื่อตอบว่าฉันขุดอย่างต่อเนื่อง การเปิดdoc1.pdfใน notepad ++ เปิดเผยว่าการเชื่อมโยงหลายมิติได้รับการเข้ารหัสโดยใช้URIประเภทการกระทำ (ดูหน้า 653 และ 662 ในรูปแบบเอกสารพกพา Adobe, อ้างอิง PDF, รุ่น 1.7, รุ่นที่หก - http://wwwimages.adobe.com/www.adobe .com / เนื้อหา / เขื่อน / Adobe / en / devnet / pdf / pdfs / pdf_reference_1-7.pdf ):

/Type/Action/S/URI/URI(doc2.pdf)

ข้อมูลอ้างอิง PDF (หน้า 662) ระบุสิ่งต่อไปนี้เกี่ยวกับURIประเภทการทำงาน:

Uniform Resource identifier (URI) คือสตริงที่ระบุ (แก้ไขเป็น) ทรัพยากรบนอินเทอร์เน็ต - โดยทั่วไปแล้วไฟล์ที่เป็นปลายทางของลิงค์ไฮเปอร์เท็กซ์แม้ว่ามันจะสามารถแก้ไขเคียวรีหรือเอนทิตีอื่น ๆ ได้

ดังนั้นสิ่งที่มือแรกดูเหมือนข้อผิดพลาดที่สำคัญใน Adobe Reader X เริ่มดูเหมือนการใช้งานที่เป็นธรรม อย่างน้อยตอนนี้ฉันคิดว่าเหตุใด Adobe Reader X จึงทำงานเหมือนเดิม - ทำให้เกิดคำถามใหม่เพื่อตอบ: ฉันจะเข้ารหัสไฮเปอร์ลิงก์ไฟล์ได้อย่างไร (เช่นลิงก์ไปยังdoc2.pdf) ที่ PDF ที่เป็นผลลัพธ์ทำให้ Adobe Reader X จัดการลิงก์เอง (แทนที่จะขอให้เบราว์เซอร์เริ่มต้นทำงาน)

เพื่อตอบว่าฉันลองดูที่ข้อมูลจำเพาะ PDF อีกครั้งและพบประเภทการกระทำLaunch- เกี่ยวกับประเภทนั้นการอ้างอิง PDF ระบุดังต่อไปนี้ (หน้า 659):

การเปิดใช้งานเรียกใช้แอปพลิเคชันหรือเปิดหรือพิมพ์เอกสาร

ดังนั้นโดยทำการเปลี่ยนแปลงต่อไปนี้ (โดยใช้ notepad ++):

เปลี่ยน:

/Type/Action/S/URI/URI(doc2.pdf)

ด้วยสิ่งนี้:

/Type/Action/S/Launch/F(doc2.pdf)

... Adobe Reader X จากนั้นแก้ไขลิงก์ด้วยการเปิดdoc2.pdfไฟล์ในหน้าต่างแยก / Adobe Reader X อินสแตนซ์อื่น - อีกครั้งโดยสมมติว่าฉันไม่ได้Open cross-document links in same windowเลือกตัวเลือก (ไชโย !!)

และตอนนี้ถึงคำถามจริง / สุดท้ายที่ฉันยังไม่สามารถแก้ไขได้ - มีวิธีใดบ้างที่ฉันสามารถสร้าง MS Word 2007 (หรือใหม่กว่า) เข้ารหัสการเชื่อมโยงหลายมิติไฟล์สัมพัทธ์ (การเชื่อมโยงหลายมิติที่ชี้ไปเช่นไฟล์ PDF อื่น) ประเภทการดำเนินการLaunchแทนURI(ทั้งสองประเภทที่ระบุไว้ในหน้า 653 ของรูปแบบเอกสารพกพา Adobe, อ้างอิง PDF, รุ่น 1.7, รุ่นที่หก - http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en /devnet/pdf/pdfs/pdf_reference_1-7.pdf )? หรือเป็นทางออกเดียวที่จะใช้แอปพลิเคชั่นหลังการประมวลผลที่สามารถเปลี่ยนURIไฮเปอร์ลิงก์ไฟล์ที่เข้ารหัส"ผิด" ทั้งหมดให้Launchเทียบเท่าได้?

ฉันรู้ว่าสิ่งนี้อาจทำให้เกิด "TLDR" จำนวนมาก - แต่ถ้าคุณจัดการเพื่อให้ได้มาที่นี่ฉันซาบซึ้งในความสนใจของคุณและฉันหวังว่าคุณหรือคนอื่นสามารถชี้ให้ฉันในทิศทางที่ถูกต้อง

ขอบคุณ


2
ไม่แน่ใจว่าคำถามแสดงความคิดเห็น 'ชน' แต่นี่คุ้มค่าที่จะอ่าน
แทนเนอร์ฟอล์กเนอร์

1
ขอบคุณสำหรับคำถามของคุณ มันมีรายละเอียดจำนวนมากและทางออกที่เป็นไปได้เพียงวิธีเดียว คุณสามารถหาวิธีที่ดีกว่าในการทำมันได้หรือไม่? การแทนที่ Action นั้นใช้งานได้ดี
Farish

1
@Farish น่าเสียดายที่ไม่มี จนถึงขณะนี้การใช้โพสต์โปรเซสเซอร์เป็นวิธีการแก้ปัญหาที่เหมาะกับฉัน ถ้าผมบางวันหาวิธีที่ดีกว่าผมจะโพสต์ update ที่นี่ :)
Lasse Christiansen

คำตอบ:


2

ขอบคุณสำหรับบทความที่ยอดเยี่ยมของคุณ มันได้ผล! ไม่ใช่สำหรับฉันในตอนแรก แต่แล้วฉันก็ค้นพบว่าคุณต้องปิด 'โหมดป้องกัน' ใน adobe X ฉันไม่มีปัญหานี้เลยใน adobe 9 ดูเหมือนว่าฉันจะอุตสาหกรรมกลับไปทำงานใน ชื่อของความปลอดภัย

ดังนั้นใน Adobe Reader X ให้ทำ:

  1. ตรวจสอบให้แน่ใจว่าได้เปิดเอกสารข้ามไม่ได้.. (ตามที่คุณพูด)
  2. ปิดโหมดที่ได้รับการป้องกัน: แก้ไข»การตั้งค่า»ทั่วไป
  3. ค้นหาและแทนที่/Type/Action/S/URI/URIด้วยการ/Type/Action/S/Launch/F(ใช้โปรแกรมแก้ไข hex ที่เหมาะสม

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


ฉันดีใจที่ใช้งานได้กับแนวคิดของ "post processor" เนื่องจากฉันโพสต์คำถามที่ฉันยังไม่พบโซลูชันที่ดีกว่าดังนั้นฉันจะใช้ขั้นตอนหลังการประมวลผลต่อไปจนกว่าจะมีโซลูชันที่ดีกว่า ขอขอบคุณสำหรับการป้อนข้อมูลของคุณ :)
Lasse Christiansen

0

FWIW ฉันไม่คิดว่าลิงก์จะทำงานในสุมาตราหากชื่อไฟล์มีช่องว่าง (การใส่เครื่องหมายคำพูดล้อมรอบชื่อนั้นไม่ได้ช่วยอะไรเพราะ Word ดูเหมือนว่าจะดึงไฟล์เหล่านั้นออกเมื่อสร้างลิงก์) ฉันไม่เชื่อว่าเป็นไปได้ที่จะเปลี่ยนพฤติกรรมของ Word ดังนั้น ...

วิธีแก้ปัญหา # 1: ใช้เครื่องมือสร้าง PDF ที่ดีกว่า

วิธีแก้ปัญหา # 2: สร้าง PDF ด้วย Word ตามปกติจากนั้นใช้โปรแกรมแก้ไขฐานสิบหกหรืออรรถประโยชน์บรรทัดคำสั่งเช่นhttp://stahlforce.com/dev/index.php?tool=repเพื่อแทนที่อินสแตนซ์ที่ต้องการทั้งหมดของ/ Type / Action / S / URI / URI (มี/ ประเภท / Action / S / เปิด / F (


0

เรื่อง คำถามการเชื่อมโยงหลายมิติแบบสัมพัทธ์

วิธีใช้ MS Office ระบุว่าการตั้งค่า 'การปรับปรุงลิงก์ในการบันทึก' (ปุ่ม Office / ปุ่มตัวเลือก Word / ปุ่มขั้นสูง / เว็บ otions) ทำให้การแทรกการเชื่อมโยงหลายมิติเป็นแบบสัมพัทธ์ หากไม่ได้ทำเครื่องหมายพวกเขาจะกลายเป็นแน่นอน อย่างไรก็ตามการตั้งค่านี้ไม่ต่างกับความพยายามของฉัน สิ่งที่ทำคือจุดที่ไฟล์ถูกบันทึก สำหรับการสร้างลิงค์สัมพัทธ์ฉันเปิดไฟล์เปล่าใหม่และบันทึกไว้ในโฟลเดอร์ที่เหมาะสมก่อนที่จะแทรกลิงก์ใด ๆ ใน 'ใส่กล่องเชื่อมโยงหลายมิติ' เลือก 'โฟลเดอร์ที่มีอยู่' โฟลเดอร์ที่แสดงในกล่องนั้นเป็นโฟลเดอร์ที่เพิ่งบันทึกลงในทรีแบบล่าง - ไม่ขึ้นด้านบน เช่นญาติ

สำหรับการสร้างลิงค์แบบสัมบูรณ์ฉันจะเปิดไฟล์เปล่าใหม่และไม่บันทึกฉันจะใส่ลิงค์ ตอนนี้กล่องแทรกจะแสดงโฟลเดอร์ที่มีอยู่ที่ระดับบนสุด เจาะลึกไฟล์ที่จะเชื่อมโยงและเส้นทางที่แสดงที่ด้านล่างของกล่องเป็นเส้นทางแบบเต็มกลับไปที่ C: . . . . .. (แสดงอักษรระบุไดรฟ์) คือสัมบูรณ์

โดยการวางเคอร์เซอร์ไว้เหนือลิงก์ในไฟล์ Word สองไฟล์จะแสดงเส้นทางแบบเต็มในทั้งสองกรณี อย่างไรก็ตามหากโฟลเดอร์พาเรนต์ถูกคัดลอกไปยังไดรฟ์อื่นลิงก์ที่เกี่ยวข้องจะเปิดโฟลเดอร์ในไดรฟ์ใหม่และลิงค์สัมบูรณ์จะกลับไปที่โฟลเดอร์ไดรฟ์ C: ซึ่งฉันต้องการจะดู ฉันยังไม่ได้ค้นพบวิธีสร้างลิงก์ทั้งสองชนิดในไฟล์เดียว แต่ฉันไม่ต้องการสิ่งนี้อยู่ดี ฉันสามารถแปลงทั้งไฟล์ MS Word ของฉันให้เป็น pdf โดยใช้การแก้ไขฐานสิบหกของคุณด้านบนและพวกเขาทั้งสองทำงานหนึ่งในโหมดสัมบูรณ์ที่ญาติอื่น ๆ

เรื่อง 'วิธีแก้ไขการชดเชย hex' ของคุณ

มันใช้งานได้ดีสำหรับฉันในบางกรณีไม่ใช่สำหรับคนอื่น ฉันพบว่าฉันต้องทำให้แน่ใจว่าชื่อไฟล์เป้าหมายไม่มีช่องว่างใน tham ฉันแทนที่พวกเขาด้วยสัญลักษณ์ขีดล่าง จากนั้นพวกเขาก็ทำงาน


0

ตอนนี้ฉันได้จุดต่ำสุดเท่าที่จะเป็นไปได้สำหรับฉันแล้ว เนื่องจากเกี่ยวข้องโดยตรงกับคำถามต้นฉบับฉันจะส่งต่อการสรุปครั้งสุดท้ายของฉัน

เรื่อง ลิงก์แบบสัมบูรณ์และลิงก์แบบสัมพันธ์ในเอกสารเดียวกัน

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

ขั้นตอนในการสร้างโฟลเดอร์เชื่อมโยงดัชนีที่ขนส่งได้

(พร้อมเอกสาร 'ดัชนี' เชื่อมโยงไปยังไฟล์ในโฟลเดอร์ย่อย)

  1. สร้างโฟลเดอร์ใหม่ที่ใดที่หนึ่งซึ่งจะเป็นโฟลเดอร์ที่จะทำการขนส่ง (โฟลเดอร์ 'ผู้ปกครอง')

  2. สร้างหรือวางโฟลเดอร์ย่อยพร้อมไฟล์ลงในพาเรนต์

  3. ตอนนี้เปิดเอกสาร Word 2007 ซึ่งจะเป็น 'ดัชนีเอกสาร' ของคุณ ก่อนที่จะแทรกลิงก์ใด ๆ ให้บันทึกไฟล์นี้เป็น 'ผู้ปกครอง' ของคุณ

  4. ตอนนี้ทำ 'แทรกไฮเปอร์ลิงก์' ช่อง 'แทรกการเชื่อมโยงหลายมิติ' จะแสดงโครงสร้างต้นไม้ของโฟลเดอร์ / ไฟล์ลงจากญาติของผู้ปกครอง ในการทำให้การเชื่อมโยงเจาะลึกขึ้นไปจนถึงตัวอักษรของไดรฟ์

  5. บันทึกไฟล์ Word ซึ่งจะทำงานเป็น 'ดัชนีเอกสาร' ของคุณ

  6. ในการแปลง 'ดรรชนี doc' เป็น pdf ให้เปิดไฟล์ word และบันทึกเป็น PDF ดัชนีเอกสารรุ่นนี้จะเปิดไฟล์เป้าหมายผ่านเบราว์เซอร์ไม่ว่าจะดาวน์โหลดหรือแสดงเป็น PDF ภายในเบราว์เซอร์

  7. ในการทำให้เอกสาร 'Index.pdf' เปิดลิงก์ในแอปพลิเคชันดั้งเดิมของพวกเขาแก้ไขไฟล์โดยใช้วิธีการแก้ไขฐานสิบหกที่อธิบายไว้ก่อนหน้านี้และ substite / Type / Action / S / URI / URI (สำหรับ / Type / Action / S / Launch / F (

  8. 3. หมายเหตุที่สำคัญ! ก่อนที่จะแก้ไขไฟล์. pdf ตรวจสอบให้แน่ใจว่าชื่อโฟลเดอร์และไฟล์ทั้งหมดไม่มีช่องว่าง Subsitute ช่องว่างด้วยขีดล่างหรือเส้นประ

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