Comment puis-je combiner deux Pages PDF apparaissent sur la même page? [fermé]

je suis à la recherche d'un outil gratuit qui permet de réorganiser les pages D'un document PDF et de combiner plusieurs pages par feuille. La première partie (réorganisation) est facilement résolu par de nombreux outils (j'utilise PyPDF ).

le problème réside dans la deuxième exigence: combiner deux pages (ou plus) en une seule page. Par exemple, prenez deux pages (A et B), faites les tourner, mettez-les à l'échelle et combinez - les en une seule page comme celle-ci

------       ------            ------
|     |      |      |          |     |
|  A  |      |  B   |          | a   |
|     |      |      |          |     |
|     |      |      |  --->    ------
|     |      |      |          |     |        
|     |      |      |          | b   |        
|     |      |      |          |     |        
------       ------            ------

La solution doit fonctionner sous Linux et de préférence sous Windows. Je cherche soit une application de console, soit une bibliothèque avec des fixations Python ou Perl.

Modifier il y a pdfnup de la bibliothèque qui est censé effectuer exactement ce genre de transformation, et est multi-plateforme, cependant je ne peux pas l'utiliser en raison d'un bogue similaire à ce .

24
demandé sur Boris Gorelik 2009-02-11 10:38:37

11 réponses

Check out cette réponse qui utilise Polyvalent pour imposer les pages PDF

2
répondu danio 2017-05-23 12:00:17

ceci est un résumé des outils que j'ai trouvé pour PDF (je voulais trouver l'équivalent de psup et psbook)

  • créer des livrets: pdfbook, pdf-tools (commande: pdfbklt)
  • fusionner les fichiers PDF: pdfmerge, pdfjam (commande: pdfjoin)
  • tourner les pages: pdfjam (commande: pdf90)
  • plusieurs pages par feuille: pdfjam (commande: pdfnup)
  • créer des affiches (plusieurs feuilles par page): pdfposter

de mon gestionnaire de paquets:

créer un livret A6:

pdfbook -2 -p a5 infile.pdf outfile.pdf

pdf-tools contient:

  • pdfbklt: créez des brochures
  • pdfrevert: supprime une couche de modifications à un fichier PDF, en essayant de maximiser la taille du fichier de sortie (pour tenir compte de PDF linéarisé).
  • pdfstamp: ajoute le donné chaîne de caractères à la infile .fichier pdf à l'emplacement donné, la police et la taille.

il y a aussi multivalent: http://multivalent.sourceforge.net/Tools/index.html

22
répondu Mildred 2014-04-08 12:38:41

sous Linux, vous pouvez convertir les fichiers PDF en Postscript et utiliser psnup . La façon exacte de l'invoquer dépend exactement de la façon dont vous voulez que les pages soient assemblées, si vous voulez qu'elles tournent, quelle(S) Taille (S) de papier vous voulez utiliser, etc. mais ce sera quelque chose comme ceci:

pdf2ps infile.pdf infile.ps
psnup -2 infile.ps outfile.ps
ps2pdf outfile.ps outfile.pdf

selon les outils disponibles, vous pourriez avoir un moyen plus efficace de le faire - psnup n'est certainement pas le seul moyen, mais il est relativement bien connu programme (sous Linux en tout cas).

9
répondu David Z 2011-03-15 00:20:39

si vous utilisez Linux, vous pouvez utiliser BookletImposer pour mettre plusieurs pages PDF sur une seule page.

pour les utilisateurs Ubuntu, cet outil est disponible à Ubuntu Software Center.

2
répondu Mohammad Javad Naderi 2013-03-18 12:02:59

en réponse à votre question, vous aurez besoin d'un outil PDF 'Imposition', qui est une façon élégante de dire un outil qui organise des images de page PDF sur un tableau particulier pour créer une nouvelle page PDF unique. Imagine que c'est comme composer un journal. Vous définissez un tableau de fentes d'un certain nombre de colonnes de large, par un certain nombre de lignes de profondeur, sur une page d'un certain fixe dimensions (en cm). Puis vous remplissez ces fentes vides de haut en bas, de gauche à droite avec des pages d'un pdf source-fichier. Dans le cas de L'OP, ils veulent créer une page unique, composée de deux 8.5x11 pages arrangées dans un tableau 1x2 (1 colonne, 2 lignes). Leurs pages seront supprimées dans le tableau dans l'ordre suivant: 1,2. Si vous laissez tomber la première page (page 1 du pdf) dans le premier emplacement de votre tableau (Colonne 1, ligne 1), et de la suppression de la deuxième page (page 2) dans le second emplacement (Colonne 1, ligne 2).

Comment utiliser l'outil pour ce faire: Téléchargez l'ancienne version de Multivalent. Notez que l'auteur a supprimé les classes good tool de la dernière édition sans explication, donc vous devez utiliser une ancienne. Voici un lien fonctionnel à partir du 02/12: http://code.google.com/p/pdfsizeopt/downloads/detail?name=Multivalent20060102.jar Pour simplifier, j'ai renommé le fichier jar en m.jar. Il va de soi que vous devez installer JRE pour que ça marche, mais je vais le mettre là-bas. Ajouter m.jar vers votre environnement Java Class Path variables (pour le script) ou exécutez la syntaxe de ligne de commande avec l'option-cp et le chemin relatif (montré ci-dessous). Note: je l'ai lancé depuis la ligne de commande dans le répertoire install dans mon exemple ci-dessous. Fournir un chemin absolu à partir de la racine autrement (comme c:\1\bin\m.jar).

voici un exemple qui accomplira exactement ce que L'OP a posté à propos: C:\1\bin > java-cp m.jar outil.PDF.Imposer -dim 1x2 -verbose-papier "21.59x55.88 cm" -mise en page "1,2" yourfilename.pdf

Note, l'option-dim crée le tableau dans les colonnes X Rows. La taille du papier est indiquée en centimètres ici, mais si vous avez besoin de pouces, multipliez simplement pouces par 2,54 pour obtenir cm. L'option-layout vous donne l'ordre que vous voulez remplir les fentes vides dans votre tableau, en remplissant de haut en bas et de gauche à droite. Dans ce cas, nous voulons la page un du pdf en haut et la page deux en bas, donc notre argument est "1,2". Le dernier argument est votre fichier source réel. L'outil va générer une fichier appelé yourfilename.pdf quand vous avez terminé.

Espère que ça aide.

- Matt Zweil

1
répondu Matt Zweil 2012-02-05 11:13:01

Vérifier le code source de PyPDF, en particulier la méthode rotateeclockwise (). Il doit y avoir un endroit où le contenu d'une page est écrite. Insérez un opérateur" q "(enregistrer l'état) et" cm "(avec les paramètres corrects pour une matrice de mise à l'échelle) avant le contenu et un opérateur" Q " (restaurer l'état) après.

voir la documentation PDF pour une explication des opérateurs et de la structure d'une page (Faites défiler vers le bas pour quelques liens utiles).

N'oubliez pas d'envoyer un patch à PyPDF:)

[EDIT] vous pouvez aussi vérifier les sources pdfjam" qui incluent une commande pdfnup.

0
répondu Aaron Digulla 2009-02-11 08:35:59

c'est une fonction perl que j'utilise pour saisir un répertoire rempli de fichiers prn à partir d'une application tierce partie et créer un seul pdf fusionné.

sub runMerged($)
{
    my($path) = @_;

    print "Generating merged PDFs for $path\n";

    my @files = sort(getFiles($path, ".prn$"));
    if (scalar(@files))
    {
        open(MERGE, ">$path/merged.prn");
        for (my $i = 0; $i < scalar(@files); $i++)
        {
            print MERGE "^L\n" if ($i > 0);

            open(FN, "$path/" . $files[$i]);
            while (my $line = <FN>)
            {
                print MERGE $line;
            }
            close(FN);
        }

        chdir("$BASE_PATH/txt2pdf");
        print `./txt2pdf.pl $path/merged.prn`;
    }
}
0
répondu user44585 2009-02-13 11:55:57

j'ai eu un besoin similaire cette semaine. Mais j'ai eu besoin de répéter chaque page A4 (paysage) "deux fois" dans la feuille A3 (portrait), pour ensuite couper en deux.

j'ai trouvé un Plugin Acrobat avec des tonnes de fonctionnalités d'imposition qui ont fonctionné parfaitement pour mes besoins, et avec un procès de 30 jours entièrement fonctionnel.

J'espère que ça pourrait aider quelqu'un d'autre.

http://www.pdfsnake.com /

0
répondu Putuko 2011-09-30 17:00:38

j'ai eu le même problème que vous et c'est ce que j'ai fait:

  1. extrait toutes les pages du fichier pdf sous forme de fichier séparé chaque
  2. Dans irfanView (avec des plugins) j'ai créé une Verticale "Panoramique" image
  3. a fait glisser les fichiers pdf dans la section images
  4. cliqué créé
  5. l '"image" est créée avec toutes les pages qui se suivent comme une très longue verticale image
  6. vous pouvez exporter en PDF avec presque aucune perte de qualité.
  7. Profiter
0
répondu J. Fernando N 2014-02-09 08:15:19

voici un script pour répéter des pages (comme A5, paysage) deux fois sur une feuille double de cette taille (A4, portrait):

#!/bin/bash
INPUTFILE=$*
PAGENUM=`pdftk ${INPUTFILE} dump_data | grep NumberOfPages | cut -d : -f 2  | cut -d " " -f 2`
PAGES=`seq 1 ${PAGENUM}`
DUPAGES=`for i in ${PAGES} ; do echo $i $i | tr "\n" " " ; done`
OUTPUT1=`basename ${INPUTFILE} .pdf`.dup.pdf
OUTPUT2=`basename ${INPUTFILE} .pdf`.double.pdf
pdftk ${INPUTFILE} cat ${DUPAGES} output ${OUTPUT1}
pdfjam --nup 1x2 ${OUTPUT1} --outfile ${OUTPUT2}

ce n'est pas vraiment élégant; cela pourrait être fait sans le deuxième appel pdftk, et cela ne fonctionne pas avec des fichiers contenant des espaces. Mais cela fonctionne avec des PDF de plusieurs pages.

0
répondu Seegras 2015-08-07 09:57:36

avec Adobe Acrobat XI Pro, ouvrez le premier document. Éditez, sélectionnez "prendre un instantané", puis cliquez sur le coin supérieur de ce que vous voulez copier et faites glisser vers le coin opposé. Ouverte feuille blanche de Peinture. Cliquez sur la feuille propre dans la peinture et le contrôle V pour coller le premier document dans la feuille propre. Répétez pour le 2ème article que vous voulez combiner sur la même page sauf placer le 2ème article sous le 1er article temporairement dans votre feuille de peinture. Puis faites glisser le deuxième élément à placez-le là où vous en avez besoin dans la feuille de peinture. Enregistrez le fichier paint sheet et c'est terminé!

0
répondu Mouse1999 2016-02-09 08:33:10