| |
Membre enregistré 148 messages Popularité : +3 (3 votes) |
|
Posté le 04 décembre 2013 - 12:32 |
bonjour auparavant j'utilisais pdftk (piloté par windev) pour insérer des filigranes ou tampon sur des pdf. fonctionnait très bien. Cet outil n'est plus gratuit, puis il y a une une licence à respecter bien évidemment.
serait il possible de faire cela en windev?
filigrane ou tampon sur une ou toutes les pages d'un document.
merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 87 messages |
|
Posté le 06 janvier 2015 - 12:42 |
bonjour
ceci m'interresse aussi j'ai exactement le même besoin, est-ce que quelqu'un à un moyen de le faire ?
cordialement |
| |
| |
| | | |
|
| | |
| |
Posté le 06 janvier 2015 - 14:05 |
Bonjour
oui, ca doit être possible
UN champ image pour lire le pdf d'origine page par page Une image qui contient le filigrane sur fond transparent Superposition des deux images par dcopyImage Sauvegarde de l'image résultante et finalement une boucle sur ces images avec un dImprimeImage
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
NOUVEAU: WXReplication, votre système de réplication open source est disponible sur mon site web !!! WXShowroom.com : Montrez vos projets ! Plus d'information sur http://fabriceharari.com
On 1/6/2015 6:42 AM, Sylvere72 wrote:
bonjour
ceci m'interresse aussi j'ai exactement le même besoin, est-ce que quelqu'un à un moyen de le faire ?
cordialement |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 46 messages Popularité : +4 (4 votes) |
|
Posté le 06 janvier 2015 - 14:08 |
Bonjour, Je ne crois pas qu'il est possible de le faire directement avec windev. Personnellement, je le fais avec une ancienne version gratuite de pdftk... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 06 janvier 2015 - 15:13 |
hello, voici ce que je répondez il y a quelque temps dans le forum developpez.net à cette question :
Je cherche à ajouter à un pdf existant un filigrane (du genre "APPROUVE") cela semble possible en utilisant l'assemblage dotnet itextSharp. En partant d'un PDF de plusieurs pages, voici 2 exemples de pages que j'obtiens dans un nouveau PDF en ayant ajouté le texte en filigrane "Approuvé Developpez windev" par itextSharp avec une procédure qui fait une vingtaine de lignes :
Procedure FiligranePDF(fichierSource est une chaîne,fichierDestination est une chaîne,monTexte est une chaîne)
pageindex est un entier MonFichierPDF est un PdfReader(fichierSource) fluxSortie est un FileStream(fichierDestination, FileMode.OpenOrCreate)
pdfStamper est un PdfStamper(MonFichierPDF,fluxSortie)
POUR pageindex = 1 _A_ MonFichierPDF.NumberOfPages
pageRectangle est un "itextsharp.text.rectangle" dynamique = MonFichierPDF.GetPageSizeWithRotation(pageindex)
pdfData est un PdfContentByte dynamique = pdfStamper.GetOverContent(pageindex)
pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED), 40);
graphicsState est un PdfGState() graphicsState.FillOpacity = 0.4
pdfData.SetGState(graphicsState);
pdfData.SetColorFill(Color.BLUE)
pdfData.BeginText();
pdfData.ShowTextAligned(Element.ALIGN_CENTER, monTexte, pageRectangle.Width / 2, pageRectangle.Height / 2, 45);
pdfData.EndText() FIN
pdfStamper.Close() fluxSortie.Close()
A partir de la version 5, iText est passé en licence AGPL ( c'est à dire très restrictive pour un projet commercial). Par contre l'ancienne version la 4.1.6 est en licence MPL/LGPL (beaucoup moins restrictive). Pour faire le test, j'ai utilisé la version 4.1.6 disponible ici : http://pdfviewernet.googlecode.com/svn-history/r55/trunk/PDFView/PDFView/lib/itextsharp.dll
un exemple d'appel :
FiligranePDF("F:\mergedPDF.pdf","F:\PDFavecFiligrane.pdf","Approuvé Developpez.net windev") Le texte est mis au dessus grâce à pdfStamper.GetOverContent. Pour le mettre en fond de page utiliser pdfStamper.GetUnderContent.
voici ce que cela donne :
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Posté le 20 janvier 2015 - 15:20 |
Bonjour Jurassic Pork, très bel exemple. n'ayant jamais intégré une Dll extérieur comment fait-on. pourriez-vous me donner un exemple ? Par avance merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 20 janvier 2015 - 15:29 |
Bonjour à tous Très bel exemple de Jurassic Pork, débutant avec les DLL extérieur, avez-vous un exemple pour intégrer / déclarer la DLL itextSherp ? Par avance merci |
| |
| |
| | | |
|
| | |
| |
Posté le 20 janvier 2015 - 18:59 |
| |
| |
| | | |
|
| | |
| |
Posté le 22 janvier 2015 - 09:10 |
Bonjour à tous, cela répond parfaitement au problème du filigrane. Mon interrogation est plutôt sur l'utilisation des DLL externes. Comment les déclarer et comment y accéder. Bon développement à tous |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 22 janvier 2015 - 09:42 |
hello, itextsharp n'est pas vraiment une dll mais plutôt un assemblage dotnet. Pour intégrer un assemblage dotnet dans un projet windev, il faut passer par le menu d'importation d'assemblage dotnet. Voir ici : http://doc.pcsoft.fr/fr-FR/?2012002
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 148 messages Popularité : +3 (3 votes) |
|
Posté le 22 janvier 2015 - 10:04 |
bonjour @J.Fernandez non ta méthode ne fonctionne qu'avec les états windev.
La méthode proposée par Jurassic Pork est fonctionnelle. un grand merci à lui! |
| |
| |
| | | |
|
| | |
| |
Posté le 22 janvier 2015 - 10:42 |
Effectivement, je confirme que la méthode décrite par Jurassic Pork fonctionne super bien. Grand merci à tous Bon developpement |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 240 messages Popularité : +3 (3 votes) |
|
Posté le 16 juin 2015 - 12:02 |
Super, ça m'a bien dépanné !
-- Vincent |
| |
| |
| | | |
|
| | |
| |
Posté le 29 décembre 2015 - 13:29 |
Bonjour JP,
je débute vraiment avec .NET de itextsharp dans windev et je vous avoue qu'un petit coup de main de votre part serait plus que bienvenu.
l'objet de l'exercice est de lire les champs de saisie text d'un formulaire PDF. Je pourrais me contenter d'un eventuel:
sFichier est une chaîne
sFichier = fSélecteur("", "", "Sélectionnez un fichier...", "Tous les fichiers (*.*)" + TAB + "*.*", "*.*")
MonFichierPDF est un PdfReader(sFichier) my_formulaire est un AcroFields dynamique = MonFichierPDF.get_AcroFields()
POUR TOUT MONFieldElement DE my_formulaire.fields my_Field est un Variant = my_formulaire.GetField(MONFieldElement.Key) Trace(my_Field ) FIN
mais le soucis est que j'ai besoin d'également récupérer le libellé dans son intégralité. En effet, je cache un identifiant de table dans ce libellé. Auriez-vous une suggestion ?
merci |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 messages |
|
Posté le 07 juillet 2017 - 15:47 |
Bonjour,
je débute avec iTextSharp et je tentais de reproduire l'exemple ce Tarte Vardor ci dessous mais j'ai 2 erreurs. La ligne de commande : my_formulaire est un AcroFields dynamique=MonFichierPDF.get_AcroFields() est en erreur (surligné dans le code)
Après de multiples recherches je ne trouve pas de solution. Quelqu'un peut-il me briffer pour cette correction.
Merci de votre aide
-- Windows 10 / Windev 20 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 962 messages Popularité : +183 (185 votes) |
|
Posté le 08 juillet 2017 - 08:37 |
hello, pour répondre à Tarte Vador avec un peu de retard . Si tu veux visualiser les libellés de champ et la valeur remplie de champ d'un formulaire PDF à remplir tu peux faire comme ceci par exemple :
MonFichierPDF est un PdfReader("F:\temp\interactiveform_filled.pdf") formulaire est un AcroFields dynamique formulaire = MonFichierPDF.get_AcroFields() POUR TOUT MONFieldElement de formulaire.Fields Trace(MONFieldElement.Key," -> ",formulaire.GetField(MONFieldElement.Key)) FIN résultat :
Quand au souci de DevWin : 1 - Quel message d'erreur sur les variables surlignées ? 2 - Quelle version de itextSharp ? 3 - L'assemblage itextsharp a-t-il bien été ajouté au projet ?
d'autre part je rappelle ceci concernant itextsharp :
iText, et par extension, iTextSharp, est sous licence AGPL. Cela signifie qu’elle est gratuite sous certaines conditions dont la publication du code source de son projet. La version commerciale permet de s’affranchir de ces contraintes. Si toutefois vous ne souhaitez pas débourser un centime, il reste la possibilité d’utiliser la version 4.1.6 qui est sous licence LGPL/MPL.
moi j'utilise toujours la version 4.1.6
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 messages |
|
Posté le 08 juillet 2017 - 21:44 |
Bonjour,
J'ai installé la version 4.1.6 de iTextSharp un reboot de pc et c'est OK.
Merci JP pour tes exemples.
-- Windows 10 / Windev 20 |
| |
| |
| | | |
|
| | |
| |
Posté le 17 novembre 2018 - 11:23 |
| |
| |
| | | |
|
| | |
| |
Posté le 13 juillet 2020 - 10:20 |
Je ne sais pas si c'est toujours d'actualité, mais il y a une solution simple
MonPdf est un pdfDocument MonFiligrane est un Filigrane MonFiligrane..Texte = "DUPLICATA TEST 54 "
MonPdf = PDFOuvre(SAI_pdf)
iParamètreFiligrane(iFiligraneImpression+iFiligraneDuplicata,MonFiligrane)
iDestination(iPDF,"D:\TRAVAIL QC\Test PDF\Test4.pdf")
SI PAS iImprimePDF(MonPdf) ALORS Erreur("Pb impression") FIN
En tout cas avec la version 25 de windev |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 01 décembre 2020 - 08:19 |
| |
| |
| | | |
|
| | |