10
votes

Mathematica peut-il créer des fichiers PDF multi-pages?

Quand on importe un fichier PDF multi-pages (le fichier que j'ai à l'esprit contient des images d'illustrations, une par page) dans Mathematica 8.0.1 par

book = importer ["simple.pdf"]

Mathematica retourne une liste d'objets graphiques, un pour chaque page. J'ai des manipulations que je joue sur chaque page, puis je souhaite enregistrer les pages modifiées dans un seul fichier PDF

Exporter ["distortedsimple.pdf", distRutedbook]

Le fichier résultant contient toutes les images sur une seule page. Y a-t-il un moyen pratique d'exporter une liste d'images vers pdf, une par page?


0 commentaires

3 Réponses :


3
votes

Essayez d'enregistrer le cahier comme PDF plutôt que d'exporter l'ensemble des cellules en tant que PDF.

EDIT:

Pour vous assurer de faire des pauses de votre page où vous voulez, définissez l'environnement d'écran à imprimer (vous pouvez le faire via un commande de menu ou Programmatiquement ), et insérer des pauses de page à l'aide du Commande de menu pertinente . Ce Page de guidage pourrait être utile.

De votre commentaire, on dirait que vous devez définir le ImageSize option pour l'image transformée pour vous assurer que la taille souhaitée lorsque vous affichez à l'écran.


3 commentaires

Cela fonctionne, mais n'est pas totalement satisfaisant. Les images sont petites, alors je perds le contrôle de la pagination (j'aimerais que la nouvelle image et l'ancienne image soit sur le même numéro de page, pour chaque comparaison). De plus, lors de la visualisation du PDF en plein écran, l'image n'est pas mise à l'échelle à l'écran (comme dans le fichier d'origine), mais la page est plutôt. Cela laisse l'image déformée minuscule.


@ Kevino'Bryant Vous pouvez résoudre ces éléments en insérant des pauses de page où vous les souhaitez et en modifiant les graphiques de manière appropriée. J'ajouterai plus de détails à ma réponse à élaborer.


Une chose que je ne peux pas vérifier (pas près d'une installation Mathematica tout à l'heure) est de savoir si la commande Programmatic NOTEBOODSAVE fonctionne pour sauvegarder en tant que PDF. référence.wolfram.com/mathematica/ref/notebooksave.html



5
votes

(hi kevin!)

Je viens d'évaluer: xxx

à l'aide de V8.0.1 pour OS X, et le fichier PDF résultant a été divisé en quatre pages. Je pense donc que la meilleure approche est de créer (programmatiquement) créer un ordinateur portable de vos images modifiées et d'exporter cet ordinateur portable.


2 commentaires

Bonjour Brett, j'ai été long! Cela l'obtient dans un fichier, mais le fichier résultant ne convient pas vraiment à l'affichage en classe (ni sur le Kindle). J'ai besoin de plus de contrôle de page ...


@Sjoerd Je viens de faire 8,0,4 la version de Mathematica dans mon quai.



4
votes

Il ne semble pas être possible avec exporter code>, peu importe combien je joue avec le pages code> élément (en dehors des solutions basées sur les portables données par d'autres).

Une alternative consiste à Installez PDFTK (un outil de ligne de commande relativement petit que nous allons utiliser pour assembler les pages) et utiliser les mathématiques suivantes Fonction: p> xxx pré>

sur Windows I besoin de citer les noms de fichiers avant de les transmettre à PDFTK. Je ne connais pas d'autres plates-formes, j'espère que cela ne causera aucun problème. P>

Essayez-le avec P>

exportMultipagePDF["test.pdf", Table[Graphics[{Hue[x], Disk[]}], {x, 0, 1, .2}]]


7 commentaires

Philosophiquement, j'aime bien cette approche, mais c'est le retour $ a échoué (de la commande d'exécution, qui retourne en soi 32512). Je suis sur Mac OS X 10.6 ...


@Kevin, crée-t-il le PDF quand même? Avez-vous installé PDFTK et pouvez-vous l'exécuter de la ligne de commande?


@Kevin Définir impressionCommand [s ___ string]: = (Imprimer @ Stringjoin @ riffle [{s}, ""]; 0) et remplacer exécuté dans mon code avec ImprimerCommand (aucun autre changement nécessaire). Cela imprimera la commande précise utilisée pour appeler pdftk , qui vous permet de déboguer. Une possibilité est que la ligne de commande est trop longue (trop de pages), que nous pouvons essayer de corriger ne pas préparer le répertoire complet temporel à chaque nom de fichier, mais aussi faire le traitement dans le répertoire TEMP. Ou peut-être que os x n'aiment pas / besoin de guillemets?


Si je coupe et coller l'impression PF de sortie dans une borne, le fichier PDF souhaité est créé (votre fichier de test de 6 pages, de toute façon; fonctionne à la fois avec et sans guillemets). Mais Cut-and-Coller dans une commande d'exécution et aucun fichier n'est créé et 32512 est renvoyé.


@Kevin je ne sais pas pourquoi ... ça marche sur Windows. Je vais essayer Linux quand j'ai la chance. Il n'y a pas de macs ici ...


@ Kevino'Bryant Je pense 32512 signifie "commande non trouvé", donc du point de vue de Mathematica, PDFTK n'est pas dans le chemin ...


Changer "PDFTK" en "/ opt / pdflabs / pdftk / bin / pdftk", qui est où pdftk a choisi de s'installer, fonctionne! Je ne suis toujours pas tout à fait clair sur la raison pour laquelle cela fonctionne à partir de n'importe quel répertoire de la ligne de commande, mais avec l'exécution, il faut le chemin complet, mais cela fonctionne. Merci, Szabolcs.