|
| Débuté par remy.bisson, 14 jan. 2021 10:30 - 10 réponses |
| |
| | | |
|
| |
| Posté le 14 janvier 2021 - 10:30 |
Bonjour,
Je souhaiterais utiliser la fonction PDFSigne pour signer des fichiers pdf. Je rencontre de sérieux problèmes avec cette fonction. Après signature du fichier, sa structure n'est plus correcte. Je souhaitais qu'un fichier soit signé sur le poste local, puis soit envoyé pour signature pas des intervenants extérieurs sur YouSign. Le problème est que YouSign rejette le fichier pour structure incorrecte. J'ai donc fait le test (https://www.pdf-online.com), le site me renvoie différents éléments qui confirme que la structure du fichier n'est plus correcte après signature. (Pour info, j'ai fait le test avant signature, pas de soucis).
Est-ce que d'autres personnes utilisent cette fonction, par exemple pour signer des factures à destination de chorus?
(J'envoie une requête au support pour signaler le problème) |
| |
| |
| | | |
|
| | |
| |
| Posté le 25 février 2021 - 15:23 |
Bonjour,
J'ai développé un programme d'intégration Yousign très pratique en WEBSERVICE Rest.
Que souhaitez vous ?
Cordialement, |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 mars 2021 - 11:36 |
Ludovic a écrit :
Bonjour,
J'ai développé un programme d'intégration Yousign très pratique en WEBSERVICE Rest.
Que souhaitez vous ?
Cordialement,
Bonjour Ludovic,
Est-ce que ce programme d'intégration peut être partagé avec la communauté ?
Merci d'avance, Christian |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 72 messages |
|
| Posté le 17 mars 2021 - 16:29 |
Vous pouvez signer un pdf avec un certificat installé sur la machine, c'est tout aussi simple (certificat autosigné ou certificat acheté à l'extérieur). C'est très simple et cela ne nécessite pas de service extérieur.
Voilà un bout de code qui insère une image signature dans la page 1 du PDG (pas encore trouvé un code qui améliore sa définition).
-----------------
NomFichierPDF est une chaîne
NomFichierPDF = fSélecteur(SysRep(srMesDocuments), "", "Sélectionnez un fichief pdf", "Fichier pdf (*.pdf)" + TAB + "*.pdf", "*.pdf") SI NomFichierPDF~="" ALORS RETOUR SI PAS OuiNon("Signer ce fichier pdf ?") ALORS RETOUR
CertificatNom, CertificatNumSerie sont des chaînes
// Lecture de paramètres : le nom et le n° de série du certificat installé sur la machine. gf_PARAMPLUS("L","SSL_CERTIFICAT","",CertificatNom) gf_PARAMPLUS("L","SSL_CERTIFICAT_NUMSERIE","",CertificatNumSerie)
SI CertificatNom~="" ou CertificatNumSerie~="" ALORS RETOUR
UnCertificat est un Certificat tabCertificat est un tableau de Certificats largeur,hauteur est un entier police est une Police MonImage est une Image
tabCertificat = CertificatListe()
POUR TOUT UnCertificat DE tabCertificat // Le numéro de série est unique pour tous les certificats émis par une autorité de certification donnée. SI UnCertificat..NuméroSérie = CertificatNumSerie ALORS SI UnCertificat..ValidePourSignature = Faux ALORS ToastAffiche(ChaîneConstruit("Le certificat sélectionné %1 ne permet de pas de générer une signature. Il ne possède probablement pas de clé privée, ou il lui manque une des caractéristiques requises pour effectuer une signature.",UnCertificat..Nom)) SINON // On vérifie la validité du certificat bufSignature est une Buffer bufSignature = CertificatSigneFichier(NomFichierPDF, UnCertificat) SELON CertificatVérifieFichierSignatureBuffer(NomFichierPDF, bufSignature) CAS certificatOk // Le certificat est valide // On applique la signature MaSignature est une pdfSignature MaSignature..Certificat = UnCertificat GénérerImage() MaSignature..X = 15 MaSignature..Y = 280 MaSignature..Hauteur = 10 MaSignature..Largeur = 25 MaSignature..Libellé = "" MaSignature..Image = MonImage SI PDFSigne(NomFichierPDF,MaSignature) ALORS SI OuiNon("Le fichier a bien été signé. L'ouvrir ?") ALORS LanceAppliAssociée(NomFichierPDF) FIN SINON Erreur(ErreurInfo) FIN CAS certificatInvalide : ToastAffiche(ChaîneConstruit("Le certificat %1 est invalide.",UnCertificat..Nom)) CAS certificatExpiré : ToastAffiche(ChaîneConstruit("Le certificat %1 est expiré",UnCertificat..Nom)) CAS certificatNonFiable : ToastAffiche("La signature est valide mais la racine de confiance du certificat est ""non fiable"".") AUTRE CAS : ToastAffiche("Un problème a été détecté pour ce certificat."+RC+ErreurInfo()) FIN FIN FIN FIN
PROCÉDURE INTERNE GénérerImage() img,txt est un Champ // Définition de la police de caractère police=PoliceCrée("Arial",6,iNormal,Noir) // Création d'un champ texte permettant de déterminer la largeur et hauteur du texte txt<-ChampCrée(MaFenêtre..Nom+"."+DonneGUID(),typLibellé,0,0,100,100,Faux) txt..Valeur = "MA SOCIETE"+RC+"FRA+" "+"75017"+" "+"PARIS"+RC+"FR760456046948" txt..Police = police // Détermination des largeurs et hauteur largeur = Arrondi(TexteLargeur(txt,txt..Valeur) +6,0) hauteur = Arrondi(TexteHauteur(txt,txt..Valeur) +6,0) // Création d'un champ image où on va dessiner le texte img<-ChampCrée(MaFenêtre..Nom+"."+DonneGUID(),typImage,0,0,100,100,Faux) img..ImageMode = imgNormal // Préparation de l'image img..Largeur = largeur img..Hauteur = hauteur img..CouleurFond = iBlanc // Initialise le dessin dans un champ Image dDébutDessin(img) //dRedimensionne(img,largeur,hauteur) dPolice(police) // Dessin d'un texte dans l'image : dTexte(3,3,"MA SOCIETE") // Raison sociale de ma société dTexte(3,12,"FRA+" "+"75017"+" "+"PARIS") // CP/Ville dTexte(3,21,"FR760456046948") // SIRET MonImage=img // Suppression des champs temporaires ChampSupprime(txt) ChampSupprime(img) FIN
-- Gestan, le couteau Suisse de la gestion d'entreprise. https://www.gestan.fr |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 mars 2021 - 18:15 |
Bonjour ICS01,
Je te remercie pour ta réponse, mais mon besoin est différent. En effet, il faut que j'envoie un PDF à un client pour qu'il le signe électroniquement. C'est pour cela que je suis intéressé par yousign. |
| |
| |
| | | |
|
| | |
| |
| Posté le 17 mars 2021 - 18:18 |
Bonjour ICS01,
Comment en obtenir un certificat gratuitement ?
Merci par avance
Rastam |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 72 messages |
|
| Posté le 17 mars 2021 - 22:03 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 9 messages |
|
| Posté le 18 mars 2021 - 09:17 |
Bonjour,
J'ai des documents qui doivent être signés en interne et par des clients (double signature). Mon idée était donc d'avoir un certificat local (j'ai choisi certeurope pour mes tests, j'ai aussi testé avec un certificat auto-signé). Une fois le document signé, il est transféré sur un portail (développé en interne) pour être mis à disposition du client. Le portail utlise yousign pour la signature du client.
Mon problème est que yousign refuse le pdf car sa structure n'est pas conforme. Je me suis aperçu que c'est la fonction pdfsigne qui rend le pdf non conforme. Il est possible de tester la structure d'un fichier pdf avec https://www.pdf-online.com/
J'ai envoyé une requête au support PcSoft le 19 janvier.
-- Rémy BISSON Gestélia INFORMATIQUE |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 748 messages |
|
| Posté le 18 mars 2021 - 09:38 |
Rémy, Puisque tu utilises déjà yousign pour la signature du client, Pourquoi ne pas l'utiliser déjà pour la première signature ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 9 messages |
|
| Posté le 18 mars 2021 - 10:18 |
Pour des raisons financières (nous avons beaucoup de documents à signer), signer avec un certificat local est beaucoup moins cher quand on a du volume. Aussi et surtout par simplicité pour l'utilisateur. Il génère son document (des contrats par exemple), le document est automatiquement signé au moment de la génération sans manipulation à faire pour l'utilisateur. Quand on passe par yousign, il faut pour chaque document une validation avec un code envoyé sur téléphone...
-- Rémy BISSON Gestélia INFORMATIQUE |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 748 messages |
|
| Posté le 18 mars 2021 - 13:05 |
| |
| |
| | | |
|
| | | | |
| | |
|