Las tres aplicaciones de iWork (Pages, Numbers y KeyNote) no eliminan la extensión de los archivos PDF cuando se guardan como PDF en el menú de impresión. (Además, la opción del Finder para mostrar las extensiones de los archivos tiene que estar activada).
Es posible crear un script que se ocupe de esto, guardándolo como un Servicio PDF, que será accesible desde el botón PDF del menú de impresión. (Cualquier script o app en ~/Librería/Servicios PDF se mostrará allí. Es posible que tenga que crear esta carpeta).
Este script eliminará la extensión de archivo de iWork, ofrecerá un diálogo de archivo y guardará el PDF.
#!/usr/bin/python
# coding=utf-8
# SAVE PDF FROM STUPID iWORK
# PDF Service to strip iWork file extension before saving PDF to designated folder
# Save this file in ~/Library/PDF Services. It will then be available in the
# PDF button of the print menu.
import os
import sys
import Quartz as Quartz
from Foundation import NSURL
from AppKit import NSSavePanel, NSApp
def save_dialog(directory, filename):
panel = NSSavePanel.savePanel()
panel.setTitle_("Save PDF document")
myUrl = NSURL.fileURLWithPath_isDirectory_(directory, True)
panel.setDirectoryURL_(myUrl)
panel.setNameFieldStringValue_(filename)
NSApp.activateIgnoringOtherApps_(True)
ret_value = panel.runModal()
if ret_value:
return panel.filename()
else:
return ''
def main(argv):
(title, options, pathToFile) = argv[:]
# Set the default location where the PDFs will go (you'll need to make sure this exists)
destination = os.path.expanduser("~/Desktop/")
stripTitle = (os.path.splitext(title)[0])
stripTitle += ".pdf"
outputfile = save_dialog(destination, stripTitle)
# Copy file to selected location.
if outputfile != "":
pdfURL = NSURL.fileURLWithPath_(pathToFile)
pdfDoc = Quartz.PDFDocument.alloc().initWithURL_(pdfURL)
if pdfDoc:
pdfDoc.writeToFile_(outputfile)
# Delete original PDF from spool folder
os.remove(pathToFile)
if __name__ == "__main__":
main(sys.argv[1:])
0 votos
Acabo de probar esto y no puedo reproducirlo. ¿Qué versión de OS X está utilizando?
0 votos
@AlanShutko el OP está usando la opción "Guardar como PDF" en el diálogo de impresión, el nombre por defecto es "documento.páginas.pdf" allí.
1 votos
¿Por qué se utiliza la opción "Guardar como PDF" a través del cuadro de diálogo de impresión y no la opción "Exportar a ... PDF"? PDF" del menú?
1 votos
Lo he probado, pero admito que estoy usando un sistema operativo beta. Acabo de probarlo en un Mavericks 10.9.2 estándar (en textedit, ya que pages no estaba instalado allí) y no mantuvo la extensión rtf. Me pregunto si hay que reiniciar la base de datos de LaunchServices.
0 votos
Gracias por todos los comentarios. La opción "Exportar a..." no incluye la extensión .pages, así que podría funcionar. Sin embargo, tengo memoria muscular para P y luego P de nuevo para generar el PDF, así que todavía me gustaría encontrar una solución si es posible.