72 votes

Comment créer des fichiers PDF volumineux (10 Mo, 50 Mo, 100 Mo, 200 Mo, 500 Mo, 1 Go, etc.) à des fins de test ?

J'ai essayé ça :

for ((i=1; i<=10; i++)); do convert 100MB.pdf 10MB.pdf 100MB.pdf; done

pour créer un fichier de 100MB, mais il n'y a plus de RAM.

56voto

Kurt Pfeifle Points 24491

L'outil le plus simple : utiliser pdftk (ou pdftk.exe si vous êtes sous Windows) :

pdftk 10_MB.pdf 100_MB.pdf cat output 110_MB.pdf

Ce sera un PDF valide. Téléchargez pdftk ici .

Mise à jour : si vous voulez des PDF non optimisés et très volumineux (et valides !), utilisez cette commande :

pdftk 100MB.pdf 100MB.pdf 100MB.pdf 100MB.pdf 100MB.pdf cat output 500_MB.pdf

ou même (si vous êtes sur Linux, Unix ou Mac OS X) :

pdftk $(for i in $(seq 1 100); do echo -n "100MB.pdf "; done) cat output 10_GB.pdf

2 votes

Veuillez éditer avec une solution de contournement pour Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS si vous en connaissez, merci.

0 votes

Téléchargez et installez la boîte à outils PDF : pdflabs.com/tools/pdftk-the-pdf-toolkit Assurez-vous d'ajouter le répertoire d'installation de pdftk au chemin pendant l'installation.

47voto

Emil Points 548

Les fenêtres : fsutil

Utilisation :

fsutil file createnew [filename].[extension] [# of bytes]

Source : https://www.Windows-commandline.com/how-to-create-large-dummy-file/

Linux : fallocate

Utilisation :

fallocate -l 10G [filename].[extension]

Source : Créer rapidement un gros fichier sur un système Linux ?

0 votes

Quel est le rapport avec la question initiale sur la création d'un fichier PDF ?

0 votes

@anddam "[extension]" dans les commandes de ma réponse est un caractère générique. Vous pouvez le remplacer par l'extension, comme pdf. pdf est une extension.

2 votes

Non, j'ai compris ce détail, aussi subtil soit-il. Mais en quoi cela a-t-il un rapport avec la question initiale ou avec mon commentaire ? Le PO demande un fichier PDF valide, que pensez-vous qu'un validateur PDF réponde si vous lui passez un morceau de 10 MB d'octets nuls ?

41voto

styks Points 1119

Pour ceux qui utilisent macOS mkfile pourrait être une bonne alternative à fallocate o dd

mkfile 100m some100mfile.pdf

référence - https://stackoverflow.com/a/33478049/711401

0 votes

Cela présente le même problème que la réponse "Windows" et "Linux" avec fsutil et fallocate : cela ne produit pas de fichier PDF. Le but n'est pas de déverser des données nulles ou aléatoires dans un fichier, mais d'obtenir un fichier PDF valide.

0 votes

@anddam - Un PDF valide n'était pas le but de la question. Il a demandé un moyen rapide et peu coûteux de créer un grand fichier à des tailles spécifiques qui se trouve avoir une extension PDF. J'en déduis cela de l'exemple qu'il a fourni et de la façon dont la question a été posée. J'ai utilisé cette méthode à de nombreuses reprises pour tester les limites de taille de téléchargement.

0 votes

Non, il ne l'a pas fait. L'OP a demandé un fichier PDF et a utilisé imagemagick pour produire des fichiers PDF valides. Il n'était pas clair ce que sa boucle for était censée faire, mais le format de sortie souhaité était très fermement exprimé, il a utilisé tous les ".pdf".

3voto

swaroop Points 161

En fonction de http://www.maketecheasier.com/combine-multiple-pdf-files-with-pdftk/ la commande devrait être

pdftk file1.pdf file2.pdf file3.pdf cat output newfile.pdf

notez que vous devez télécharger la version Windows de pdftk

1voto

L33t8l Points 51

J'ai eu des problèmes en utilisant pdftk avec le fichier chat paramètre a eu un meilleur succès avec sortie .

La commande suivante a fonctionné pour moi :

pdftk file_1.pdf file_1.pdf file_1.pdf file_1.pdf cat output.pdf

Utilisation de chat a produit l'erreur suivante :

Error: Unexpected text in page range end, here: 
    output.pdf
    Exiting.
    Acceptable keywords, for example: "even" or "odd".
    To rotate pages, use: "north" "south" "east"
        "west" "left" "right" or "down"
Errors encountered.  No output created.
Done.  Input errors, so no output created.

http://www.pdflabs.com/docs/pdftk-cli-examples/ .

J'ai créé un PDF de 172 mb en un rien de temps.

2 votes

Hein ? Votre commande "a fonctionné pour moi" utilise aussi cat . Cependant, il lui manque le output opérateur. (Dans votre commande citée output.pdf est un nom de fichier). La commande ne peut pas fonctionner (de la manière dont vous l'avez citée) !

1 votes

Il est "l33t". Les personnes létrées n'ont pas besoin d'utiliser une syntaxe valide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X