โปรแกรมดู Pdf ที่จัดการการอัปเดตสดของ pdf / ไม่ล็อคไฟล์


17

ผมทำงานเกี่ยวกับเอกสารน้ำยาง (มี pdflatex, Cygwin, Acrobat Reader) และฉันรู้สึกเหนื่อยกับการแต่งหน้า - ใกล้ - เปิดกระบวนการ

บน osx ด้วยPreviewฉันไม่มีปัญหานั้นเนื่องจากฉันสามารถรวบรวม.texไฟล์ได้ในขณะที่ pdf ที่เป็นผลลัพธ์ถูกเปิดในวิวเวอร์ (ซึ่งได้รับการอัพเดตหลังจากกระบวนการบิลด์)

ในขณะที่ Win7 ด้วย Acrobat Reader ฉันpdflatex(tex-live 2012) บ่นว่า[...] can't write on file xxx.pdf.ฉันเดาว่าผู้อ่านล็อคไฟล์ pdf

คุณผลิต / แก้ไขไฟล์. tex ได้อย่างมีประสิทธิภาพบน Win7 ได้อย่างไร ฉันควรจะใช้ makefiles และ text editor แทนการสร้าง windows latex


หากเป็นตัวเลือกสำหรับคุณ: ฉันคิดว่า (ไม่สามารถตรวจสอบได้ในขณะนี้) xpdfผ่านการcygwinทำงานในลักษณะนั้น อย่างไรก็ตามคุณจำเป็นต้องพลิกหน้าไปมาและย้อนกลับเพื่ออัปเดตไฟล์ที่แสดง
mpy

ขอบคุณมันเป็นสิ่งที่ดีสำหรับการเริ่ม แต่เนื่องจากฉันรู้ว่ามันจัดการกับ mac ได้อย่างไรฉันจึงดีใจที่มีวิธีแก้ไขปัญหาอื่น ๆ
ไมค์

คำตอบ:


16

SumatraPDFสามารถใช้ได้ในเวิร์กโฟลว์ปัจจุบันของคุณ มันจะไม่วางล็อคไฟล์ นอกจากนี้ยังรองรับการซิงโครไนซ์ระหว่างเครื่องมือแก้ไขและเอกสาร PDF


1
ฉันต้องการโพสต์ในนาทีที่แล้ว แต่ฉันไม่สามารถตอบคำถามของตัวเองด้วยตัวแทนน้อยกว่า 10 คน ... :) ยังไงก็ตามขอบคุณ!
ไมค์

2

แม้ว่าจะมีคำตอบให้กับผู้อ่าน PDF ที่ไม่บล็อกหน้าต่างดั้งเดิม แต่ฉันได้ทำตามcygwin/xpdfวิธีการแล้วและแฮกสคริปต์ขนาดเล็กร่วมกัน

มันขึ้นอยู่กับxpdf's -remoteตัวเลือกที่เป็นไปได้ที่จะโหลดไฟล์ที่เปิดอยู่แล้ว ดังนั้นเราจะต้องตรวจสอบเมื่อไฟล์มีการเปลี่ยนแปลง เนื่องจากไม่มีเนทิฟinotifyบน windowsคุณจำเป็นต้องติดตั้งinotify-winซึ่งเป็นC#โปรแกรม

xpdf-fดูเหมือนว่าสคริปต์ของฉันจะทำงานได้ดี แต่คุณต้องปิดทั้งคู่xpdfและสคริปต์ (ผ่าน Strg + C) เมื่อดู PDF เสร็จแล้ว

#!/bin/bash

if [[ "$1" = "" ]]; then
  echo Usage: $0 FILE
  exit 1
fi

if [[ ! -e "$1" ]]; then
  echo Error: File $1 does not exist.
  exit 2
fi

xpdf -remote filewatch "$1" &
XPDFPID=$!

while [[ -e /proc/$XPDFPID ]]; do
  inotifywait `dirname $1` | grep "MODIFY $1"
  [[ $? = 0 ]] && xpdf -remote filewatch -reload
done

1

ตั้งแต่ปี 2017 Firefox / Chrome ก็สามารถทำงานได้เช่นกัน Firefox ยังเก็บหน้าปัจจุบันไว้หลังจาก F5 - รีเฟรช


2
คุณสามารถเพิ่มรายละเอียดเพิ่มเติมในคำตอบของคุณ? การพูดว่า "X ทำงานได้ดี" นั้นคลุมเครือเกินไปที่จะเป็นประโยชน์ ขอบคุณสำหรับการมีส่วนร่วม
ฉันพูดว่า Reinstate Monica

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