จะรักษาไฮไลต์และหมายเหตุประกอบที่สร้างใน Okular ได้อย่างไร


12

ฉันต้องอ่านงานวิจัยที่หลากหลายและในระหว่างการเรียนหลักสูตรฉันต้องเน้นและใส่คำอธิบายประกอบ แต่ถ้าฉันเปลี่ยนชื่อไฟล์ในภายหลังหรือเปลี่ยนเครื่องไฮไลต์และคำอธิบายประกอบจะหายไปเนื่องจากถูกจัดเก็บแยกต่างหาก ฉันจะเก็บรักษาไฮไลต์ / คำอธิบายประกอบเหล่านี้ที่สร้างใน Okular ได้อย่างไรหากฉันเปลี่ยนเครื่องในอนาคต

คำตอบ:


11

ตั้งแต่ KDE 4.2 Okular มีคุณสมบัติ "การจัดเก็บเอกสาร" นี่เป็นรูปแบบเฉพาะของ Okular สำหรับการพกพาเอกสารรวมทั้งข้อมูลเมตาต่างๆที่เกี่ยวข้อง (ปัจจุบันมีเฉพาะคำอธิบายประกอบ) คุณสามารถบันทึก "การจัดเก็บเอกสาร" จากเอกสารที่เปิดอยู่โดยเลือกไฟล์→ส่งออกเป็น→เก็บเอกสาร หากต้องการเปิดเอกสารเก็บ Okular เพียงเปิดด้วย Okular เช่นเอกสาร PDF

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

อ่านที่นี่: https://docs.kde.org/stable5/en/kdegraphics/okular/annotations.html


4

เวอร์ชันปัจจุบันของ Okular อนุญาตให้บันทึก PDF ด้วยคำอธิบายประกอบโดยไปที่ไฟล์ -> บันทึกเป็น

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

สคริปต์ Autokey

ก่อนอื่นคุณจะต้องติดตั้งautokey-gtkและxdotoolก่อน:

sudo apt-get install autokey-gtk xdotool

ตอนนี้ใน autokey ไปที่ใหม่ -> สคริปต์ เพิ่มรหัสต่อไปนี้ในสคริปต์ใหม่ของคุณ:

#This is used to save PDF in okular so that the annotations persist in the PDF file itself
#We have to use to `xdotool` to bring the dialogs back into focus, otherwise they are losing focus 
import subprocess

keyboard.send_keys("<ctrl>+<shift>+s")
time.sleep(0.4)
subprocess.call(["xdotool", "windowfocus", "`xdotool getwindowfocus`"])
time.sleep(0.1)
keyboard.send_key("<enter>")
time.sleep(0.1)
subprocess.call(["xdotool", "windowfocus", "`xdotool getwindowfocus`"])
time.sleep(0.1)
keyboard.send_key("<tab>")
time.sleep(0.1)
keyboard.send_key("<enter>")
time.sleep(0.1)
subprocess.call(["xdotool", "windowfocus", "`xdotool getwindowfocus`"])
time.sleep(0.5)
keyboard.send_keys("<ctrl>+q") #Quit Finally

ตอนนี้คุณสามารถกำหนดตัวกรองหน้าต่างและฮอตคีย์ให้กับสคริปต์นี้ .*okular.*ในตัวกรองหน้าต่างเพิ่ม <ctrl>+sและในฮอตผมเคยใช้ คุณสามารถใช้อะไรก็ได้ที่คุณต้องการ

ดังนั้นตอนนี้เมื่อใดก็ตามที่ฉันต้องออกจาก okular ฉันใช้CtrlSและออกจาก okular หลังจากบันทึก pdf ของฉัน


@HermanJaramillo: ฉันดีใจที่มันช่วยได้ :) อย่างไรก็ตามโปรดจำไว้ว่านี่เป็นการแฮ็ค ฉันยังคงมองหาวิธีการที่แข็งแกร่งมากขึ้น
shivams

1
นี่เป็นซอฟต์แวร์ที่ดีที่สุดที่ฉันเคยเห็น! มันเหมือนกับเชลล์สคริปต์ แต่สำหรับแอปพลิเคชัน GUI! :)
matthieu

2

ฉันคิดว่าฉันมีคำตอบ หลังจากรันคำสั่ง find แบบง่ายนี้ในโฮมไดเร็กทอรีของคุณ:

find -type d -iname "*okular*" -print

คุณจะพบไดเรกทอรีนี้:

/home/YOUR_USER_NAME_HERE/.kde/share/apps/okular

ภายใต้มันคือไดเรกทอรี:

docdata

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


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