ฉันสามารถใช้ ImageMagick เพื่อลบรหัสผ่านจาก PDF ได้หรือไม่?


5

หากฉันมี PDF และฉันมีรหัสผ่านฉันก็สามารถส่งไปที่เครื่องพิมพ์ PDF เพื่อรับ PDF ใหม่ที่มีเนื้อหาเหมือนกันและไม่มีรหัสผ่าน กระบวนการนี้ไม่เจ็บปวดอย่างแน่นอน (ตัวอย่างเช่นเครื่องพิมพ์ PDF inbuilt ของอูบุนตูดูเหมือนจะไม่สนใจที่จะเคารพการตั้งค่าการวางแนวหน้าเว็บของฉัน PDFCreator สำหรับ Windows ดูที่ฉันอย่างตลกและพิมพ์ข้อความแสดงข้อผิดพลาดเป็นต้น)

ฉันต้องการทำให้กระบวนการนี้เจ็บปวดน้อยลงเล็กน้อยและฉันจินตนาการ ImageMagick สามารถช่วยฉันได้ อย่างไรก็ตาม ...

convert foo.pdf -authenticate baz bar.pdf

... ไม่ให้ความสุขเลย

   **** This file requires a password for access.
   **** The file was produced by: 
   **** >>>> �Sh�Ў,bd�  a���߰�
                                �u�|!
                                      ���� <<<<
Error: /invalidfileaccess in pdf_process_Encrypt

ทีนี้ ... ฉันเดาว่าถ้ามี pdf_process_Encryptมีโอกาสที่จะมีการสนับสนุนสำหรับ pdf_process_Decrypt การดำเนินการใช่มั้ย

ฉันจะทำสิ่งนี้ได้อย่างไร


1
จะไม่ นี้ ง่ายกว่านี้อีกไหม?
Flimzy

@Firstzy ไม่มีตัวเลือกใดที่ดึงดูดความสนใจของฉันเลย ... พวกมันล้วนมีเฉดสีที่หลากหลายโดยไม่จำเป็น
badp

1
เฮ้ ... และการหลีกเลี่ยงรหัสผ่านนั้นไม่ได้ร่มรื่นอยู่แล้ว? วลี "ขโมยความซื่อสัตย์" มาถึงใจ :)
Flimzy

@Flimzy เอ่อ? ฉันมีรหัสผ่านแล้ว ฉันไม่จำเป็นต้องถอดรหัสหรืออะไรก็ตาม ที่นี่ไม่มี "การลักทรัพย์" ที่เกี่ยวข้อง
badp

ฉันไม่ได้กล่าวหาว่าคุณเป็นขโมย ฉันแค่คิดว่ามันตลกที่จะจู้จี้จุกจิกเกี่ยวกับวิธีการลบรหัสผ่าน (ไม่ว่าจะเพื่อวัตถุประสงค์ที่ซื่อสัตย์หรือไม่) อย่างไรก็ตามฉันไม่มีความรู้เพียงพอที่จะตอบคำถามของคุณโดยตรง โชคดี.
Flimzy

คำตอบ:


4

pdftk อาจช่วย:

pdftk secured.pdf input_pw foopass output unsecured.pdf

บน Windows ตัวกำจัดข้อ จำกัด A-PDF ยังเป็นสิ่งที่ดีแม้ว่าเครื่องชำระ


ขอบคุณสำหรับคำตอบ แต่อาจเป็นได้ คำถามอื่นนี้ มากกว่านี้ แม้ว่าฉันจะมีข้อสงสัยเพิ่มขึ้นว่าคำสั่งในคำถามของฉันจะทำงานได้ดี แต่เป็นเพียงรูปแบบการเข้ารหัสที่ห้องสมุด PDF ส่วนใหญ่ไม่สามารถรองรับได้จริง สะกิดฉันถ้าคุณย้ายคำตอบของคุณที่นั่น; ฉันจะให้รางวัลแก่คุณ 100 สำหรับปัญหา :)
badp

@badp คำตอบนี้ควรเป็นเชิงอรรถสำหรับคำตอบอื่น ๆ แต่คำตอบอื่น ๆ จำเป็นต้องทราบว่าพวกเขา rasterizing PDF ทั้งหมดไม่ใช่เพียงแค่ดึงการรับรองความถูกต้องออก
Caleb

3

สิ่งนี้สามารถทำได้อย่างง่ายดายโดยใช้ ImageMagick แม้ว่าฉันจะพบได้จากการลองผิดลองถูก คำสั่งที่ฉันใช้เพื่อลบข้อ จำกัด จาก PD คือ:

mogrify c:\workingdirectory\password_protected.pdf

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


โปรดทราบว่านี่จะเป็นการลบคุณลักษณะ PDF อื่น ๆ และในกรณีส่วนใหญ่ Rasterize ไฟล์ทั้งหมด ฉันตระหนักถึงคำถามนี้ ต้องการ คำตอบที่ใช้ ImageMagick แต่มันจะเป็นการดีที่จะรวมข้อจำกัดความรับผิดชอบเกี่ยวกับผลข้างเคียงที่เกิดขึ้นและแนะนำเครื่องมือเช่น pdftk เช่นเดียวกับใน คำตอบนี้ ที่เข้าใจ Postscript และเขียนไฟล์ที่คล้ายกันกลับคืนมา (รวมถึงองค์ประกอบข้อความและเวกเตอร์เป็นข้อความและเวกเตอร์แทนที่จะเป็นพิกเซล)
Caleb

0

ตามที่ Levi ตอบคุณสามารถใช้ ImageMagick ได้ mogrify. อย่างไรก็ตามในการขยายตัวที่ฉันพบว่าได้รับจริง mogrify ทำงานกับไฟล์ที่มีการป้องกันด้วยรหัสผ่านคุณอาจต้องระบุรหัสผ่านเป็น:

mogrify -authenticate yourpassword c:\workingdirectory\password_protected.pdf

คำเตือน! สิ่งนี้จะเขียนทับไฟล์ในตำแหน่ง

นอกจากนี้คุณภาพของ pdf อาจลดลงเนื่องจากสิ่งนี้เพราะฉันเชื่อว่าการตั้งค่าความหนาแน่นเริ่มต้นคือ 72dpi ดังนั้นเพื่อรักษาคุณภาพให้ลองใช้ 300dpi (หรืออะไรก็ได้ที่คุณต้องการ):

mogrify -authenticate yourpassword -density 300 c:\workingdirectory\password_protected.pdf


หมายเหตุถึงแม้จะมีการตั้งค่าความหนาแน่นแล้ว แต่สิ่งนี้ไม่ได้รักษาคุณภาพของ PDF ไว้ rasterizing ไฟล์ทั้งหมด ฉันตระหนักถึงคำถามนี้ ต้องการ คำตอบที่ใช้ ImageMagick แต่มันจะเป็นการดีที่จะรวมข้อจำกัดความรับผิดชอบเกี่ยวกับผลข้างเคียงขนาดใหญ่ที่ผลิตและแนะนำเครื่องมือเช่น pdftk เช่นเดียวกับใน คำตอบนี้ ที่เข้าใจ Postscript และเขียนไฟล์ที่คล้ายกันกลับคืนมา (รวมถึงองค์ประกอบข้อความและเวกเตอร์เป็นข้อความและเวกเตอร์แทนที่จะเป็นพิกเซล)
Caleb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.