2 votes

Comment supprimer l'extension supplémentaire lors de la création d'un PDF ?

Depuis la mise à jour vers Mavericks, j'ai remarqué que lors de la création d'un PDF à partir d'un autre fichier, tel que Pages, l'extension du fichier est incluse dans le nom du fichier. Existe-t-il un moyen de désactiver cette fonction ?

Par exemple, disons que je crée un document Pages appelé "Proposition.pages". Lorsque je suis prêt à envoyer la proposition par courrier électronique, je crée un PDF du document en sélectionnant CMD+P, puis "Enregistrer en PDF".

Le titre par défaut qui sera choisi est "Proposition.pages.pdf". C'est une chose assez simple à changer, mais lorsque vous générez des PDF toute la journée, cela devient gênant.

enter image description here

Quelqu'un connaît-il un moyen de supprimer l'extension ".pages" lors de la création du fichier PDF ?

0 votes

Je viens d'essayer et je ne peux pas reproduire. Quelle version d'OS X utilisez-vous ?

0 votes

@AlanShutko le PO utilise l'option "Enregistrer en PDF" dans la boîte de dialogue d'impression, le nom par défaut est "document.pages.pdf".

1 votes

Pourquoi utilisez-vous l'option "Enregistrer en PDF" dans la boîte de dialogue Imprimer et non l'option "Exporter vers ..." ? PDF" ?

2voto

nohillside Points 82672

Il semble que l'option "Enregistrer au format PDF" dans la boîte de dialogue Imprimer prend simplement le titre du document (qui est défini comme le nom du document par Pages) et ajoute une balise .pdf à ce sujet. Comme la nouvelle version de Pages ne semble pas offrir d'option permettant de modifier le titre dans Pages, vous n'aurez peut-être pas de chance.

Vous pouvez également utiliser l'entrée de menu "Exporter vers... PDF" pour exporter directement au format PDF.

0voto

Ira Points 1

Lorsque vous cliquez sur "Enregistrer en PDF", vous obtenez une fenêtre dont la ligne supérieure commence par "Enregistrer sous". Sur le côté droit de cette ligne se trouve une flèche pointant vers le bas. Cliquez dessus pour développer cette fenêtre et voir toutes vos options. À ce stade, en bas à gauche de la fenêtre se trouve un bouton "Masquer l'extension".

0voto

benwiggy Points 21125

Les 3 applications iWork (Pages, Numbers et KeyNote) négligent de supprimer leur extension de fichier des PDF lors de l'enregistrement en tant que PDF à partir du menu d'impression. (L'option du Finder permettant d'afficher les extensions de fichiers doit également être activée).

Il est possible de créer un script qui s'en occupe, en l'enregistrant comme un Service PDF, qui sera accessible à partir du bouton PDF du menu d'impression. (Tout script ou application dans ~/Library/PDF Services sera affiché là. Vous devrez peut-être créer ce dossier).

Ce script supprimera l'extension de fichier iWork, offrira un dialogue de fichier et enregistrera le 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 votes

Benwiggy, ce problème existe toujours avec des versions de Mac Pages plus récentes que celles d'iWorks. Toute chance d'avoir un script mis à jour serait très appréciée !

0 votes

@jconcord Il devrait toujours fonctionner dans Monterey, qui est toujours livré avec python2. Big Sur a un bug de sorte que le Service PDF scripts ne fonctionne pas, mais il a été corrigé.

0 votes

Benwiggy, merci. Catalina est livré avec Python3 et malheureusement le script donne plusieurs erreurs de syntaxe suivies d'un plantage de Python 3 à l'ouverture. Aïe.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X