Il m'arrive de recevoir des formulaires à remplir sous forme de PDF destinés à être imprimés (ce ne sont pas de véritables formulaires PDF, ils ne contiennent pas de champs). J'aimerais taper sur ces formulaires, et éventuellement ajouter une copie scannée de ma signature. De cette façon, je pourrais simplement les renvoyer par courriel. Est-ce possible ?
Réponses
Trop de publicités?J'ai eu une assez bonne expérience avec uPdf .
Installation
sudo add-apt-repository ppa:atareao/updf
sudo apt-get update
sudo apt-get install -y updf
Ensuite, fixez un bogue par édition de 2 lignes dans un script Python .
Utilisation
Lancez uPdf, sélectionnez le Ajouter une image tracez un rectangle autour de la zone où vous souhaitez placer la signature et sélectionnez le fichier image contenant votre signature. Un fichier PNG avec un arrière-plan transparent est préférable.
Voir aussi Comment puis-je modifier une image dans un fichier PDF existant ?
Acrobat Fill & Sign
Si vous souhaitez simplement ajouter du texte ou des signatures à des fichiers PDF (même à des fichiers qui ne sont pas des formulaires), la solution la plus simple est sans doute le logiciel gratuit d'Adobe Remplir et signer service web.
Il semble un peu caché, soit en raison de l'abondance des fonctionnalités, soit parce qu'ils l'ont activement caché dans le but de vous diriger vers des fonctionnalités payantes, mais cela semble fonctionner pour moi :
- Aller à https://documentcloud.adobe.com et se connecter
- Télécharger un fichier PDF
- Cliquez sur les 3 points à droite du fichier >. Remplir et signer
- Une fois que vous avez terminé, cliquez sur Fermer ce qui devrait vous ramener à la liste des fichiers. Ensuite, cliquez sur les 3 points à droite du fichier >. Télécharger
Master PDF Editor
Si vous voulez un éditeur de PDF à part entière, Master PDF Editor a un portage Linux natif. Les versions actuelles sont des versions de démonstration qui ajouteront un filigrane, mais auparavant il était gratuit pour une utilisation non commerciale. Les binaires de la dernière version gratuite sont toujours disponibles au téléchargement :
Version Qt5 (64 bits uniquement) : http://code-industry.net/public/master-pdf-editor-4.3.89_qt5.amd64.debVersion Qt4 (64-bit, .tar.gz seulement) : https://code-industry.net/public/master-pdf-editor-4.3.89_qt4.amd64.tar.gzVersion de Qt4 (32-bit) : https://code-industry.net/public/master-pdf-editor-4.3.89_i386.deb
Il semble que les binaires aient été supprimés depuis. Voici les sommes de contrôle au cas où ils seraient encore disponibles au téléchargement ailleurs :
$ md5sum master-pdf-editor-4.3.89_qt5.amd64.deb
183ad38306fe2637006d23307f69f2a5 master-pdf-editor-4.3.89_qt5.amd64.deb
$ sha1sum master-pdf-editor-4.3.89_qt5.amd64.deb
8194648cf7938ad9a0564db33ebf4c228b1557ea master-pdf-editor-4.3.89_qt5.amd64.deb
$ md5sum master-pdf-editor-4.3.89_qt4.amd64.tar.gz
5e91230954e995083f50d773ce016437 master-pdf-editor-4.3.89_qt4.amd64.tar.gz
$ sha1sum master-pdf-editor-4.3.89_qt4.amd64.tar.gz
34e690519025ffe31c2336d21b4fe93bd40e6dad master-pdf-editor-4.3.89_qt4.amd64.tar.gz
PDFedit
Je ne le recommande pas vraiment, mais c'est bien d'avoir des options :)
PDFedit est un éditeur PDF open-source qui n'a pas été maintenu depuis près de dix ans. Le dernier paquetage disponible était pour Ubuntu 12.04. Il peut être installé dans les versions modernes d'Ubuntu, bien que l'installation manuelle des paquets puisse briser certaines dépendances. Si vous voulez quand même essayer, ceci peut fonctionner :
wget http://mirrors.kernel.org/ubuntu/pool/main/l/lcms/liblcms1_1.19.dfsg-1ubuntu3_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/libm/libmng/libmng1_1.0.10-3_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/q/qt-x11-free/libqt3-mt_3.3.8-b-8ubuntu3_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/p/pdfedit/pdfedit_0.4.5-2_amd64.deb
sudo dpkg -i *.deb
( https://gist.github.com/bmaupin/a23161b50f27179e6e5b064d6066b034 )
Comme il s'agit d'un logiciel libre, quelqu'un pourrait en théorie l'intégrer dans une version moderne d'Ubuntu.
Vous pouvez facilement copier et coller une partie d'un document pdf en utilisant PDF-XChange Viewer (fonctionnant de manière fluide avec Wine). (Googlez-le, vous verrez que beaucoup d'utilisateurs d'ubuntu l'adorent, il est très utile pour annoter les documents pdf).
Vous sélectionnez la signature (un rectangle autour d'elle) dans un autre document, vous la copiez et la collez où vous voulez sur le nouveau document...
Une autre option est Scribus . Je l'ai utilisé pour effectuer la même tâche que celle que vous demandez (coller l'image d'une signature).
Comme l'a dit Tom Brossman, il n'existe pas de méthode parfaite pour le faire, et c'est le cas de Scribus. Il doit importer le fichier du format pdf au format natif, et selon le document, le texte peut être brouillé ou les couches affichées différemment.
L'exemple de code C# présenté dans l'exemple suivant peut être utilisé pour ajouter une image au PDF Vous pouvez facilement insérer une image dans n'importe quelle page PDF souhaitée avec un emplacement précis.. :
public static string FolderName = "c:/";
private void button1_Click(object sender, EventArgs e) {
string fileName = FolderName + "Sample.pdf";
REDocument doc = REFile.OpenDocumentFile(fileName, new PDFDecoder()); //use PDFDecoder open a pdf file
REPage rePage = (REPage) doc.GetPage(0);
int width = 100;
int height = 60;
/// data[]: a byte array to contain color data (as same format as Image Data PixelArray in BMP file)
/// caller must provide correct color data; otherwise, unpredictable error may happen
byte[] data = new byte[width * height * 3];
// set bottom 20 lines to red
for (int rowIdx = 0; rowIdx < 20; rowIdx++) {
for (int i = 0; i < width; i++) data[width * rowIdx * 3 + i * 3 + 2] = 0xFF;
}
// set top 10 lines to blue
for (int rowIdx = 0; rowIdx < 10; rowIdx++) {
for (int i = 0; i < width; i++) data[width * (height - 1 - rowIdx) * 3 + i * 3] = 0xFF;
}
REImage reImage = new REImage(width, height, ImageMode.RGB888, data);
REFile.SaveDocumentFile(doc, "c:/reimage.pdf", new PDFEncoder());
}