แปลง DJVU เป็น PDF


39

ฉันต้องการแปลงเอกสาร DJVU เป็นเอกสาร PDF แยกและรักษาเลเยอร์ข้อความและรูปภาพในขณะที่ยังคงโครงสร้างจาก DJVU ฉันจะทำสิ่งนี้ใน Ubuntu ได้อย่างไร

(ฉันจะใช้Calibreเพื่อแปลงเป็น ePub / Mobi ดังนั้นหากมีปลั๊กอิน Caliber สำหรับกระบวนการทั้งหมดนี้ซึ่งจะสมบูรณ์แบบสำหรับฉัน!)

หมายเหตุ 1: การพิมพ์จาก Evince การส่งออกจาก DJview หรือสิ่งใดก็ตามที่ใช้แพ็คเกจddjvuนั้นไม่ใช่วิธีการแก้ปัญหาที่เพียงพอเนื่องจากทิ้งเลเยอร์ข้อความเพื่อบันทึกภาพเท่านั้น

Note2: การใช้DJVULibreดูเหมือนว่าจะแยกเฉพาะชั้นข้อความและภาพที่ไม่ได้สกัด ในทำนองเดียวกันการคัดลอกข้อความ "ด้วยตนเอง" จะสูญเสียทั้งโครงสร้างเอกสารและรูปภาพ

คำตอบ:


37

วิธีที่ 1

ใช้ DJView และส่งออกเป็น PDF

  1. Goto Synaptic Package Manager
  2. ติดตั้ง DJview4
  3. เรียกใช้ DJview (แอปพลิเคชัน - กราฟิก - DJView4)
  4. เปิดเอกสาร. djvu ของคุณ
  5. : เมนู - ส่งออกเป็น: PDF

วิธีที่ 2

เปิดไฟล์ djvu ใน evince
Select print ----> print to file
change .ps to .pdf และคลิก print

วิธีที่ 3

  1. Goto Synaptic Package Manager
  2. ติดตั้ง

    djvulibre-bin libdjvulibre21 okular-extra-backends evince libevdocument3 libevview3

  3. ไปที่เทอร์มินัลแล้วเขียน

     sudo apt-get install libtiff-tools
    
  4. ไปที่ไดเร็กทอรีที่มีไฟล์ djvu อยู่ คลิกปุ่มเมาส์ขวา ไปที่ตัวเลือก“ Open In Terminal” คลิกที่มัน เทอร์มินัลจะเปิดขึ้น

  5. ในเทอร์มินัลเขียน

    ddjvu -format=tiff file_name.djvu file_name.tiff
    tiff2pdf -j -o file_name.pdf file_name.tiff
    

วิธีที่ 4

นอกจากนี้ยังมีตัวแปลงออนไลน์DjVu เป็น PDF converter


@Ashu คุณแน่ใจหรือไม่ว่านี่จะเป็นการดึงภาพ?
hayd

ใช่วิธีที่ 1 และ 2 ทำงานได้สำหรับฉัน ไม่ลอง 3 และ .4
Ashu

@Ashu มันคือการแยกภาพหรือคัดลอกทั้งหน้า? (ไม่ว่าทำให้รู้สึก?)
hayd

คุณลองวิธีการใด ๆ หรือไม่? พยายามที่จะออกและดูว่าการทำงาน
Ashu

2
มันไม่ได้ (ดึงภาพหรือข้อความ)
hayd

17

นี่เป็นวิธีหนึ่งซึ่งจะต้องใช้เครื่องมือบางอย่างที่ไม่เหมือนกัน:

  1. ocrodjvu
  2. pdfbeadsซึ่งเป็นข้อกำหนดของ Google เองซึ่งสามารถพบได้

เราสามารถใช้djvu2hocrคำสั่ง (จากocrodjvuแพ็คเกจ) เพื่อแยกเลเยอร์ข้อความที่ซ่อนอยู่จากไฟล์ DjVu (มันไม่ได้ทำ OCR ใด ๆ หรือคล้ายกันมันเพียงแค่ดึงเลเยอร์ข้อความด้วยเรขาคณิต) เช่น:

djvu2hocr -p 10 sample.djvu | sed 's/ocrx/ocr/g' > pg10.html

sed การแทรกแซงแก้ไขชื่อคลาสในเอาต์พุต hOCR (ซึ่งเป็นไฟล์ HTML แบบง่าย)

ตอนนี้เราแยกหน้า DjVu เป็นรูปแบบ TIFF ด้วย:

ddjvu -format=tiff -page=10 sample.djvu pg10.tif

เพื่อให้เราจบด้วยไฟล์เหล่านี้ในโฟลเดอร์ work out:

sample.djvu
pg10.html
pg10.tif

นี่คือที่pdfbeadsมาในการเล่นและเราดำเนินการอย่างง่าย:

pdfbeads -o pg10.pdf

โปรแกรมที่ดีนี้จะดูแลทุกอย่างที่อยู่ในโฟลเดอร์นี้ (ไฟล์ HTML และ TIFF ที่มีชื่อพื้นฐานเหมือนกัน) และสร้างไฟล์ PDF ผลลัพธ์ด้วยผลิตภัณฑ์บางอย่าง:

sample.djvu
pg10.html
pg10.tif
pg10.jbig2
pg10.pdf
pg10.sym

ซึ่งเหมือนกับไฟล์ DjVu อินพุตและมีเลเยอร์ข้อความอยู่ภายใน:

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

สรุปความคิดเห็น:

ความคิดเห็นยาวด้านล่างหารือเกี่ยวกับการแสดงรูปภาพขนาดเล็กจากหน้าเอกสาร DjVu เป็นวัตถุแยกต่างหากซึ่งไม่สามารถทำได้อย่างง่ายดายเพราะหน้าเอกสาร DjVu เป็นเพียงภาพเดียวที่มีเลเยอร์ข้อความเสริมโดยไม่มี "ข้อมูล" เกี่ยวกับภาพขนาดเล็กเป็นวัตถุแยกต่างหาก หากเอกสาร DjVu มีภาพสีพวกเขามักจะวางบนเลเยอร์พื้นหลัง ในกรณีนี้ผู้ใช้สามารถใช้ประโยชน์จากเครื่องมือต่าง ๆ เช่นddjvu(แยกเฉพาะเลเยอร์พื้นหลัง) และimagemagick(ตัดภาพอัตโนมัติ) เพื่อส่งออกเป็นภาพแทนภาพเต็มผืนผ้าใบทั้งหมด แต่ไม่สามารถอัตโนมัติสำหรับการสร้างเอาต์พุต PDF

อีกวิธีหนึ่งที่ช้ากว่าคือการใช้เครื่องมือ OCR GUI ปกติ gscan2pdf(> 1.0) แนะนำให้เป็นตัวเลือกที่เป็นไปได้สำหรับ Linux PC


ฉันถูกต้องในการคิดว่านี่ไม่ได้แยกข้อมูลภาพแต่ละภาพ แต่มีเพียงภาพของทั้งหน้า?
hayd

"ข้อมูลภาพแต่ละภาพ" หมายความว่าอย่างไรเมื่อคุณอ้างถึงโครงสร้างไฟล์ DjVu
zetah

ว่าจะสามารถตัดภาพออกจากเอกสารเป็นภาพที่มีขนาดเล็กอยู่ด้านบนของรูปแบบไฟล์ PDF (เช่นเพื่อให้พวกเขาสามารถส่งออกไปยัง HTML)
hayd

ไม่มีคำจำกัดความดังกล่าวในโครงสร้างไฟล์ DjVu ภาพตัวอย่างด้านบนในเอกสาร DjVu ดั้งเดิมคือ "วาง" บนเลเยอร์ด้านหน้า / หน้ากากพร้อมกับภาพอักขระและมีเลเยอร์ข้อความแยกต่างหากซึ่งถูกแยกตามที่อธิบายไว้ หากเอกสาร DjVu มีภาพสีเอกสารเหล่านั้นจะถูกวางในเลเยอร์พื้นหลังทั่วทั้งหน้า (ในไฟล์ DjVu ผสมทั่วไป) ในขณะที่เป็นที่เข้าใจว่าคุณอาจคาดหวังว่าภาพในหน้าเอกสาร DjVu เป็นวัตถุแยกต่างหากที่ไม่ได้ดูที่หน้าเอกสาร DjVU เป็นภาพเดียวที่มีเลเยอร์ข้อความเพิ่มเติมซึ่งโดยพื้นฐานแล้วมันคืออะไร
zetah

1
@zetah - ข้อมูลเพิ่มเติมที่คุณให้ไว้ในความคิดเห็นควรถูกเพิ่มเข้าไปในคำตอบเพราะมันจะให้ข้อมูลที่มีค่าเกี่ยวกับการจัดวางรูปภาพในโครงสร้างและสิ่งที่คุณคาดหวังเมื่อทำการแยก
fossfreedom

4

มีdjvu2pdfแต่อาศัย Ghostscript ดังนั้นจึงอาจเป็นตัวเลือกการพิมพ์อื่น ฉันยังแนะนำให้คุณลองดูในกรณีที่มันฉลาดกว่าที่ฉันให้เครดิต

มันไม่ได้อยู่ใน repos แต่คุณสามารถดาวน์โหลด deb จากเว็บไซต์ของผู้ผลิต: http://0x2a.at/s/projects/djvu2pdf

** ใส่ประกาศบังคับเกี่ยวกับการดาวน์โหลด / ติดตั้งสิ่งต่าง ๆ จากนอก repos ที่นี่ **


1
ฉันกลัว djvu2pdf ใช้ddjvuเพื่อส่งออกเป็น PDF ซึ่งส่งภาพโดยไม่มีข้อความ
hayd

4

การใช้DJVULibreสามารถแยกเลเยอร์ข้อความผ่านterminalคำสั่ง:

djvutxt myfile.djvu > myfile-ocr.txt หรือ djvused myfile.djvu -e 'print-pure-txt' > myfile.txt

(ทั้งสองทำสิ่งเดียวกันและพบที่นี่ )

การจัดรูปแบบต้องใช้ความพยายามบางคน (เป็นสัญลักษณ์จำนวนมากไม่ได้แปลงอย่างถูกต้อง) และภาพจะไม่หาย


สิ่งนี้เป็นสิ่งที่ดีสำหรับการแปลงหนังสือที่มีรูปภาพน้อยกว่าในรูปแบบ DJVU แต่ไม่ใช่สำหรับเอกสารที่มีรูปภาพ นี่เป็นทางออกปัจจุบันสำหรับฉันในขณะนี้และเป็นทางเดียวที่จะแยกข้อความ วิธีที่จะอนุรักษ์การจัดรูปแบบและรูปภาพจะเป็นที่ต้องการมาก!
hayd

0

http://www.djvu-pdf.com/ - การใช้เว็บไซต์นี้คุณสามารถแปลง djvu เป็น pdf


ฉันได้โพสต์แล้วว่าเว็บไซต์พี่ชาย
Ashu

ดูเหมือนว่าเว็บไซต์ปลอม ฉันได้รับข้อความนี้หลังการแปลง: ขออภัยคุณไม่สามารถดาวน์โหลดไฟล์นั้นได้
corev

0

วิธีที่ง่ายที่สุด: ใช้ gscan2pdf เพื่อนำเข้า djvu จากนั้น OCR ด้วย tesseract และในที่สุดก็บันทึกเป็นไฟล์ pdf ข้อความ OCR ใน pdf อาจแตกต่างจาก djvu ดั้งเดิมเล็กน้อยและการแปลงอาจใช้เวลาสักครู่ แต่วิธีนี้ไม่ต้องใช้ความคิดและใช้งานได้


1
สวัสดีการทำให้ anwer มีประโยชน์มากขึ้นคุณสามารถให้รายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับสถานที่ที่จะได้รับและใช้ gscan2pdf และ tesseract
NGRhodes

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