Automator & AppleScript: ¿Cómo importo los textos de Notas y Recordatorios como PDF y RTF?

Me gustaría exportar y guardar los documentos o textos de Notas y Recordatorios como PDF y RTF, manteniendo o conservando el formato y el fondo de las Notas o Recordatorios, pero las Notas no tienen la opción.

Me gustaría saber si es posible usar Automator y AppleScript para exportar las notas y recordatorios como PDF y RTF.

Hay algún código en macscripter.net que podría ser útil. No pude hacer que funcionara... Creo que algunas cosas cambiaron entre versiones de Notes. Pero parece un punto de partida legítimo.

Respuestas (2)

Otra forma de exportar notas es moverlas primero a una cuenta de correo electrónico. Por ejemplo:

  • Mover notas a una cuenta de Gmail en Notes.app
  • Mueva las notas a otra carpeta en la interfaz web de Gmail
  • Seleccione las notas en Mail.app y guárdelas como texto enriquecido o texto sin formato

Aquí hay otro AppleScript para exportar notas como RTF:

set i to 1
tell application "Notes"
    repeat with n in notes
        do shell script "printf %s " & quoted form of (get body of n) & " | textutil -inputencoding UTF-8 -format html -convert rtf -stdin -output /tmp/" & i & ".rtf"
    set i to i + 1
    end repeat
end tell

No guarda imágenes y no funciona con notas que son más largas que getconf ARG_MAX. -inputencoding UTF-8es necesario para conservar U+100 y los caracteres por encima.

Técnicamente, debe intercambiar estas dos líneas: "finalizar repetición" y "establecer i a i + 1" porque necesita incrementar el contador a medida que crea los archivos.
@ Matt - tienes razón. He propuesto una edición del código (no funciona "completamente" como está escrito).

La forma más sencilla de obtener una nota en formato PDF es utilizar la función Imprimir a PDF integrada de OS X. Simplemente seleccione la nota que desee, abra el cuadro de diálogo de impresión, haga clic en el botón PDF en la esquina inferior izquierda y seleccione Guardar como PDF .

Si desea crear una secuencia de comandos/automatizarla, puede realizar algunas secuencias de comandos de GUI para automatizar el proceso de impresión de PDF (que es un poco torpe, pero hay muchos ejemplos de cómo hacerlo), o puede obtener el texto de la nota como HTML a través de AppleScript y convertirlo a RTF. Tenga en cuenta que, en cualquier caso, solo obtiene texto sin formato, el estilo de papel legal de las Notas es parte de la GUI, no del formato de la nota.

Si desea obtener el texto de una nota en RTF, puede usar este AppleScript:

tell application "Notes"
    set theNote to first note
    set theFile to ((path to desktop as text) & "output.html")
    my write_to_file(body of theNote, theFile, false)
end tell

do shell script "textutil -convert rtf " & (POSIX path of theFile)

on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
    try
        set the target_file to the target_file as text
        set the open_target_file to ¬
            open for access file target_file with write permission
        if append_data is false then ¬
            set eof of the open_target_file to 0
        write this_data to the open_target_file starting at eof
        close access the open_target_file
        return true
    on error
        try
            close access file target_file
        end try
        return false
    end try
end write_to_file

Esto imprime la primera nota en la lista, si desea una específica, o todas, puede modificarla para recorrer las notas.

Esperemos que sea un punto de partida útil. No he tenido tiempo de ver cómo exportar Recordatorios, tal vez alguien más pueda contribuir con eso.

Funcionó muy bien, pero hay un pequeño fallo. Después de exportar, RTF y HTML dijeron que faltaban complementos (inserté las imágenes en las notas) y las imágenes no estaban allí y se convirtieron en "complementos faltantes". Cuando hice clic en el complemento faltante y el cuadro de diálogo decía: "Esta página contiene contenido del tipo "aplicación/x-apple-msg-attachment". No tiene el complemento necesario para ver este contenido".