Fusionner des PDF avec PDFTK avec les Signets?
À l'aide de pdftk pour fusionner plusieurs fichiers pdf fonctionne bien. Cependant, une façon facile de faire un signet pour chaque fichier pdf fusionné?
Je ne vois rien sur le pdftk docs concernant ce donc je ne pense pas que c'est possible avec pdftk.
L'ensemble de nos fichiers fusionnés sera de 1 page, vous demandez-vous si il y a d'autre utilité que peut ajouter des signets par la suite?
Ou un autre basé sur linux pdf utilitaire qui va permettre de fusionner en spécifiant un signet pour chaque pdf.
- Avec la Version 1.45 - décembre 6, 2012 son possible via
update_info
. Voir le réponse de steventaitinger.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez aussi fusionner plusieurs fichiers Pdf avec Ghostscript. Le gros avantage de cet itinéraire est qu'une solution est facilement scriptable, et il ne nécessite pas un réel effort de programmation:
Avec Ghostscript, vous serez en mesure de passer à pdfmark états qui peuvent ajouter une Table des matières ainsi que les signets pour chaque fichier source d'aller dans le fichier PDF résultant. Par exemple:
ou
Pour une introduction à la pdfmark sujet, voir aussi Thomas Merz est PDFmark Apprêt.
Edit:
Je voulais vous donner un exemple pour
file-with-pdfmarks-to-generate-a-ToC.ps
, mais en quelque sorte oublié. Ici, il est:Ce serait de créer une table des matières pour les 4 premiers fichiers == 4 premières pages (puisque vous avez la garantie de votre ingrédient fichiers sur 1 page pour chaque fusionnées de sortie PDF).
[/XYZ null null null]
partie fait en sorte que votre page de fenêtre d'affichage et le niveau de zoom ne change pas de l'actuel lorsque vous suivez le lien. (On pourrait dire[/XYZ 222 111 2]
pour ce faire, si vous voulez un exemple au hasard.)/Title (some string you want)
thingie détermine ce texte est dans la table des matières.Et, vous pouvez même ajouter ces paramètres à l'Ghostscript ligne de commande directement:
autre Edit:
Oh, et par la manière: Ghostscript ne préserver les signets lorsque vous l'utilisez pour fusionner deux fichiers PDF en un seul -- pdftk.exe ne fait pas. Nous allons utiliser celui généré par la commande de mon premier montage (en fait la concaténation de 2 copies du même fichier):
Le fichier
doublemerged.pdf
aura maintenant 2*4 = 8 signets.La raison en est, que le pré-signets existants n'ont adresse leurs cibles des liens en absolu les numéros de page. Pour contourner ce problème (et les signets de travail dans les fichiers fusionnés), on aurait pu générer des signets qui témoignent d'un lien cibles par des destinations nommées (et assurez-vous que ce sont uniq sur des documents qui sont fusionnés).
(Cette approche fonctionne aussi sur linux, il suffit d'utiliser la gs au lieu de gswin32c.)
Annexe
Au-dessus de la ligne de commande utilise
[...more Ghostscript options as needed...]
comme une place de titulaire pour plus d'options.Si vous n'utilisez pas d'autres options, Ghostscript appliquera ses valeurs par défaut pour les différents paramètres. Toutefois, cela peut vous donner des résultats qui ne peuvent pas à votre goût. Depuis Ghostscript génère un tout nouveau PDF basés sur l'entrée, cela signifie que certains des objets d'origine peut être modifié. Cela est vrai pour les espaces de couleurs et de niveaux de compression de l'image.
Comment appliquer les paramètres qui partent à l'origine des images incorporées inchangée peut être vu à SuperUser: "l'Utilisation de Ghostscript, mais le dire de ne pas retraiter les images".
Je sais qu'il y a d'autres façons de le faire déjà mentionné, mais avec pdftk vous pouvez prendre le fichier pdf fusionné et ajouter des signets à l'aide de la pdftk fonction dump_data de créer un .le fichier d'information de l'information existante dans le fichier pdf. Ensuite, vous pouvez ajouter un signet infos à la .info fichier à ajouter les quatre lignes suivantes pour chaque signet
Puis utilisez le update_info appel pour mettre à jour le fichier pdf fusionné les signets avec ceux que vous avez écrit à l' .info fichier. J'ai écrit quelques fonctions simples qui font cela pour moi dans autohotkey si quelqu'un est intéressé. Voir http://www.autohotkey.com/board/topic/98985-scripts-to-merge-pdfs-and-add-bookmarks-with-pdftk/
update-info
peut être trouvé ici: stackoverflow.com/a/40222656/1933185Voir cette réponse à https://stackoverflow.com/a/17781138/547578. J'ai utilisé quelque chose qui s'appelle Sejda. Elle fonctionne. Il combine les signets parfaitement. Merci @blablatros.
-b one_entry_each_doc
option pour ajouter un signet entrée pour chaque fichier ajouté dans le fichier PDF fusionné. Le-t file_names
option peut également être d'intérêt pour vous si vous souhaitez ajouter une table des matières page au début de la fusion de PDF.Trop d'ajouter ou de modifier des signets pdf vous pouvez utiliser JPdfBookmarks. C'est un excellent multi-OS Gratuit Logiciel outil que j'ai utilisé pendant un certain temps maintenant, avec d'excellents résultats. Il traite uniquement des signets cependant, de sorte que vous aurait besoin d'un autre outil pour fusionner ou réorganiser des pages. En plus de pdftk je vous propose d'essayer PDF Split et Merge (bonne application, mais bizarre l'INTERFACE utilisateur, le mess des signets à partir de mon expérience), PDF-Shuffler (semble fonctionner très bien, mais parfois se fige tout en traitant avec certains fichiers), ou PdfMod (le meilleur potentiellement car elle traite de la réorganisation, de fusion et de traiter avec des signets, bien que je n'ai pas été en mesure de comprendre comment ajouter des documents pdf dans une page spécifique).
Désolé de ne pas fournir certains des liens, comme un débutant le système ne me permet d'ajouter 2 liens hypertextes.
@pipitas 's bonne réponse ne résout pas le signet questions perfectionné, et la il y a une question relative à la sous unix discussion https://unix.stackexchange.com/questions/17065/add-and-edit-bookmarks-to-pdf/31070 , où je suggère
Si vous avez encore le bâton avec ceux de scripts unix, puis
pdftk
gs
est accepté.gs
script pour les fusionner avec pdfmarksLe script existe déjà, voir
pdf-merge.py
de Fusionner des PDF avec PDFTK avec les Signets?Peut-être que ce qui suit est utile. Je voulais fusionner tous les documents pdf (in_nn.pdf) situé dans un répertoire à un.pdf, ce qui a le nom de l'entrée des pdf (in_nn) comme la table des matières.
J'ai écrit un script python qui lit les noms et extrait les numéros de page et génère un fichier nommé pdfmarks. La fusion des fichiers est alors facile à faire avec les gs. La commande exacte est sortie par le script, et doivent être exécutées séparément (peut-être avec quelques modifications dues à la taille de la page des adaptations ou en raison du système d'exploitation).
C'est ici. Peut-être quelques modifications sont nécessaires pour windows? (désolé pour les commentaires ne sont pas en anglais). Juste exécuter le script python dans le répertoire où les fichiers pdf à fusionner sont situés.
Malheureusement, il n'existe pas de moyen facile de le faire. Vous pouvez utiliser la bibliothèque que pdftk est construit directement, et écrire une Java ou un .NET programme qui utilise la bibliothèque iText ou iTextSharp de fusionner vos fiches et de créer des signets. Si vous voulez aller à la iText route, il y a beaucoup d'exemples disponibles en ligne ou dans la iText livre (écrit par le iText auteur).
... ou bien, laissez-moi savoir ce qui ne marche pas et je peux vous aider.
Suivantes est destiné à être un commentaire à la réponse par pdfmerger (https://stackoverflow.com/a/30524828/3915004).
Merci pour votre script pdfmerger!
Je sais que la question est marqué linux, mais de généraliser votre script pour Mac OS X, 2 choses sont nécessaires:
gs
etpdfinfo
(qui est inclus danspoppler
)Installer en obtenant d'abord
brew
(google, il est installé par le biais de certains curl/ruby-la magie de commande ^^ ) et puis tout simplement:ADD-ON: LIRE FICHIER TEXTE AVEC DES TITRES DE CHAPITRES:
À développer votre script.
J'utilise ce flux de travail principalement pour les livres disponibles en tant que chapitre-les téléchargements depuis les éditeurs de site web.
Un fichier texte contenant les noms de chapitres peuvent être facilement généré.
La suite ajouter à votre code de lit en outre un fichier texte 'chapters.txt' contenant une ligne par fichier en format pdf à fusionner.
(Remarque, je n'avais pas de mettre en œuvre un contrôle sur le nombre de lignes correspondant au nombre de fichiers pdf.)
Simplement développez votre script en remplaçant les lignes suivantes:
et
Il est PdfMod. Il dispose d'une interface graphique et il vous laisse ajouter des signets manuellement. Aussi, si vous modifiez un fichier PDF qui est déjà fourni avec des signets, il se mettra à jour automatiquement pour pointer vers les pages correctes.
Sejda PDF (ce qui a été suggéré dans l'une des réponses) est également disponible comme un service en ligne: https://www.sejda.com/merge-pdf.
Cela pourrait être utile si vous ne souhaitez pas installer de logiciels supplémentaires et préférez travailler en ligne à partir d'un navigateur.
Étapes de fusion:
Par défaut tous les signets existants sont conservés et travaillera dans le document fusionné ainsi.
En option, l'outil de fusion de créer une table des matières basée sur les documents PDF combiné
Le service en ligne permettant de fusionner des fichiers PDF est libre de l'utiliser jusqu'à 30 dossiers par heure et des fichiers jusqu'à 50 mo/200 pages.
Disclaimer: je suis un open source dev de travail sur Sejda.
La version récente de
pdftk
(au moins v2.02) traite les signets et les liens correctement: