¿Dónde está la vista previa almacenando los datos para volver a abrir un PDF en la última página? OS X Lion

0

Puedo ver cómo desactivar este comportamiento en una pregunta anterior en ¿Cómo configurar la vista previa para que comience en la última página vista?

¿Pero qué archivo está / estaba almacenando estos datos persistentes sobre la última página leída de un PDF en Vista previa? He experimentado con la eliminación de muchos archivos de caché, plist y otros asociados con la aplicación de Vista previa, incluso sus marcadores y los de ~ / Biblioteca / Contenedores, y ninguno de ellos lo detiene recordando la última página leída en un documento PDF.

¿Alguien puede indicar el archivo específico donde se almacena esta información?

Gracias. Todavía estoy en Lion por cierto

    
pregunta lrobes 05.07.2015 - 06:44

2 respuestas

1

Lo tengo Yo creo que. Me tomó mucho tiempo, pero creo que he descubierto lo que está sucediendo. Esperemos que esto pueda ser útil para otra persona.

En primer lugar, noté que el bloqueo del archivo en el Finder parecía detener la vista previa al recordar una página diferente. Así que si abrí el PDF en la página 1 y luego me desplazo a la página 10, ya no recordaría que el PDF estaba en la página 10 cuando el archivo se cerró y luego se volvió a abrir. Esa fue la primera pista.

Luego usé fseventer que monitorea los cambios de archivos en tiempo real y me sorprendió para ver cómo se abre un PDF en Vista previa, desplazarse a una página diferente y luego cerrar el PDF, se actualiza el archivo. Literalmente no registra un cambio de hora en el Finder, la fecha sigue siendo la misma, pero fseventer lanzó la pista ‘Xattr modificado’.

Ok, recordé vagamente una mención de esta característica llamada atributos extendidos de años atrás, parece funcionar como otro tipo de metadatos pero eso es bastante diferente de los 'metadatos normales', y ahora estoy leyendo fue un reemplazo para el antiguo recurso se bifurca en OS 9. La ejecución de $mdls (utilizada para los 'metadatos' normales) en la Terminal no mostrará los atributos extendidos.

Tienes que usar el comando $xattr para ver estos atributos.

Cuando ejecuté $xattr /Volumes/mydisk/mypdf.pdf obtuve esto:

/Volumes/mydisk/mypdf.pdf: com.apple.Preview.UIstate.v1: Y otra línea sobre un bit de cuarentena

Tienes que hacer $ xattr -lv para ver los datos completos de estos atributos extendidos. Produce un blob de salida hexadecimal para com.apple.Preview.UIstate.v1.

Entonces corrí $ xattr -lv /Volumes/mydisk/mypdf.pdf

Y copió la salida. Luego abrí el PDF en Vista previa, cambié la página y cerré la Vista previa.

Luego ejecuté $ xattr -lv /Volumes/mydisk/mypdf.pdf otra vez

Y luego comparó los blobs de salida hexadecimal para com.apple.Preview.UIstate.v1, que fueron diferentes entre las dos ocasiones.

La prueba final fue eliminar los datos del atributo extendido:

$ xattr -c /Volumes/mydisk/mypdf.pdf

Y eso es todo! Vuelve a la página 1 cuando lo abre en Vista previa

Aparece la última página vista de un PDF almacenada en estos atributos extendidos. ¡¡Estoy tan feliz!!

    
respondido por el lrobes 07.07.2015 - 16:10
0

Al utilizar filemon del libro "Internos de Mac OS X - Para el núcleo de Apple", aparece el único archivo relacionado con Vista previa que se modifica si todo lo que hago es abrir, por ejemplo. un documento .pdf en Vista previa y cerrarlo en una página diferente es el archivo com.apple.Preview.ViewState.plist ubicado en:

/Users/$USER/Library/Containers/com.apple.Preview/Data/Library/Preferences/

El archivo no es lo que llamaría en un formato fácil de leer para el usuario, ya que es principalmente una lista de UUID que contienen una clave de fecha y hora, sin embargo, la clave de datos no está en un formato fácil de leer, aunque la clave de la fecha es. / p>

Sin embargo, pude ver el cambio del valor de la marca de tiempo en diferentes UUID al abrir y cerrar documentos recientes cuando los cerré en páginas diferentes y luego se abrió. Por lo tanto, si bien es el archivo correcto, no estoy seguro de cuánto usará el archivo para usted.

    
respondido por el user3439894 05.07.2015 - 12:08

Lea otras preguntas en las etiquetas