ลบ Red boxes ในไฟล์ PDF


1

ฉันดาวน์โหลดไฟล์ Linux Essentials PDF จากเว็บไซต์ LPIC ลิงก์ซึ่งเป็น https://www.linuxcertification.co.za/sites/default/files/linux-esentials-manual.pdf

ฉันบันทึกไฟล์ PDF ไว้ในระบบของฉันและเปิดโดยใช้โปรแกรมอ่าน Foxit PDF รวมถึงโปรแกรมอ่าน Adobe ตอนนี้เมื่อดูไฟล์ใน Chrome ในรูปแบบ PDF จะไม่มีช่องสีแดงปรากฏให้เห็น:

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

อย่างไรก็ตามเมื่อฉันดูใน Foxit และ Adobe กล่องเหล่านี้จะปรากฏขึ้น:

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

อะไรเป็นสาเหตุของปัญหานี้

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

ฉันไม่สามารถพึ่งพาการเปิดไฟล์ใน Chrome ได้ตลอดเวลาและต้องการใช้ตัวอ่าน Foxit หรือ Adobe เพื่อเปิดไฟล์ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม


กล่องเหล่านี้เป็นส่วนหนึ่งของ PDF เหตุใด Chrome จึงไม่แสดงผลเกินกว่าฉัน กล่องเหล่านี้ควรปรากฏหรือไม่เป็นตัวเลือกด้วยhypertexแพ็คเกจ LaTeX
Daniel B

@DanielB ดังนั้นฉันจะลบออกได้อย่างไร
John S

คุณไม่สามารถ. เช่นฉันพูดว่า: พวกเขาเป็นส่วนหนึ่งของเอกสาร คุณสามารถลบแต่ละไฟล์ด้วยตนเองด้วยโปรแกรมแก้ไข PDF แต่นั่นก็ไม่เป็นไปได้
Daniel B

@DanielB - มีวิธีที่ฉันสามารถแปลงเป็น Word, รักษาแนวร่วมโดยใช้ซอฟต์แวร์โอเพ่นซอร์ส? ด้วยวิธีนี้ฉันสามารถแปลงกลับเป็น PDF และไม่มีกล่องสีแดง
John S

ไฟล์ PDF ไม่สามารถแปลงเป็นเอกสาร Word ได้ในลักษณะที่ไม่มีการสูญเสีย PDF มีคุณสมบัติมากมายที่ Word ไม่สามารถทำได้ ทางออกที่ดีที่สุดของคุณคือการติดต่อผู้เขียนที่กล่าวถึงในเอกสารเพื่อขอรุ่นที่ไม่มีกล่อง
Daniel B

คำตอบ:


0

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

ใบอนุญาตของเอกสารไม่อนุญาตให้มีผู้สืบทอดมาเผยแพร่ ดังนั้นนี่คือสคริปต์ที่ใช้HexaPDFเพื่อลบเส้นขอบออกจากหมายเหตุประกอบลิงก์:

require 'hexapdf'
doc = HexaPDF::Document.open(ARGV[0])
doc.pages.each {|page| page[:Annots]&.each {|a| a = doc.deref(a); a[:C] = nil; a[:Border] = [0, 0, 0]}}
doc.write(ARGV[0] + '.pdf', validate: false)

คุณต้องติดตั้ง HexaPDF ( gem install hexapdf, จำเป็นต้องมีการติดตั้ง Ruby 2.4), บันทึกสคริปต์นี้เป็นไฟล์ Ruby, remove_borders.rbจากนั้นเรียกใช้ดังนี้:

ruby remove_borders.rb path/to/linux-essentials-manual.pdf

เอาต์พุตเป็นไฟล์ที่มีชื่อเหมือนกัน แต่มีไฟล์.pdfแนบเพิ่มเติมพร้อมกับลบเส้นขอบของคำอธิบายประกอบลิงก์ออก

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