Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/02/2021, à 17:23

arnoxz

Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Bonjour,

Premièrement, je ne sais pas trop si c'est possible, ni vers quelle (meilleure) solution me diriger.

Description du sujet :
-J'ai produit "un modèle" sous inkscape (edit : scribus) dont certains champs sont souvent édités pour changer le nom d'un bloc texte (descriptif en en 2 mots bien souvent) ainsi qu'un autre champ afin de changer de date (c'est même plutôt l'année donc maj moins fréquente).
-J'aimerais 'automatiser" cela, donc éviter d'ouvrir l'application d'aller rechercher (click-click-click) le niveau de hiérarchie (car bien souvent ces info sont groupées (block)) et d'éditer le nom à mettre à jour.... par (et ici se pose la possibilité d'édition / multi possibilité ou peut-être pas ?) ;
-->directement en bash/script linux ?
-->un langage de programmation adapté (je connais un peu de python, CSharp, JavaScript,...)
-->pour finir le produire en sortie PDF

Si faisable, comment dois-je "réfléchir" , ou commencer, sur quoi me pencher......

D'abord, si c'est simple via bash, script linux, ce serait déjà un gros avancement, mais l'ideal serait de le mettre en ligne (via navigateur), donc peut-être également prévoir un langange (ou librairie / OLE , je ne sais pas, quel vocabulaire utiliser ici) qui permettrait ensuite de le mettre à disposition (mais je n'ai aucune idée des possibilités, si je dois prévoir d'installer inkscape (edit : scribus) sur un serveur ou si simplement le document créé en pdf avec des champs à remplir suffirait ???) etc)

Toutes infos est bonne, si vous avez un script tout fait que je pourrais adapter suivant mon document, je me sens capable de comprendre le déroulement, si vous avez également des références / doc, comment installer / lancer des app, que faut-il comme service, ou simplement du script interagissant avec des application (sans tout ouvrir,.....)

Avec l'expérience et l'observation que j'ai maintenant sous linux,.... je pense que cela doit être possible...

Merci pour avis éclairés

Dernière modification par arnoxz (Le 22/04/2021, à 08:45)

Hors ligne

#2 Le 27/02/2021, à 18:19

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Salut,

Il existe pleins d'options. Si tu veux le mettre en ligne, tu peux avoir une page en php/javascript, et utiliser une librairie qui te génère le pdf (https://github.com/mpdf/mpdf/ pour php, https://www.npmjs.com/package/jspdf pour js, ou autre).

Mais oublie inkscape si tu veux automatiser.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#3 Le 28/02/2021, à 00:36

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Merci pour ta réaction, cependant je ne suis pas certain de suivre (déjà :-o ) !
En effet, tu me dis qu'il y plein d'options, mais tu me dis d'oublier inkscape (edit : scribus), je ne comprends pas, vu que c'est un modèle inkscape (edit : scribus),!!

Ou alors la solution concerne un fichier (avec les champs vides) produit par inkscape (edit : scribus) que je peux ensuite éditer, je pense que c'est ton conseil :-) ??

Ok déjà une piste :-D (je vais approfondir la lecture du lien merci)....

Dernière modification par arnoxz (Le 06/03/2021, à 17:27)

Hors ligne

#4 Le 28/02/2021, à 14:22

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Tu peux donner des screenshots ? Car je ne vois peut-être pas bien ce dont tu veux parler. Mais tu peux pas tout mélanger. Inkscape c'est une app de bureau, le web c'est un autre monde. Si tu veux générer un SVG depuis des champs remplis par un utilisateur sur une page web, tu peux tout faire en JS.

Si tu veux éditer un SVG à la barbare directement dans le fichier, tu peux faire ça avec bash ou python sans problèmes. Mais si tu veux de l'aide, donne plus d'infos précises !


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#5 Le 28/02/2021, à 20:50

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Alors en image c'est plus parlant
1614542703.jpg

Ce fichier est produit par inkscape (edit : scribus), je l'exporte d'habitude en pdf car cela permet de maintenir les dimensions choisies facilement pour remplir un format de page d'impression ainsi que de garder la qualité d'impression.

Le but de ce document est de produire une petite pochette / pliage / enveloppe, c'est pour stocker des graines de plantes mais voilà, il faut souvent changer la partie "Nom de la plante"..... éventuellement les autres champs qui sont peu nombreux, la date a également une petite importance.... le nom plus que tout !!.... Il y a très peu de texte.... l'image donnera une meilleure idée.... le but serait de produire des séries avec de noms différents afin d'imprimer le tout ensuite avec les nombreux noms différents sans devoir à chaque fois éditer le document (surtout qu'avec inkscape (edit : scribus) on travaille souvent par groupe / sous groupe / et bloc d'éléments afin de bien garder tout aligné.... (les pointillés du pliage et la position finale des textes sont importants car une fois plié bcp de parties sont cachées / recentrées /invisibles..)

;-)

Dernière modification par arnoxz (Le 06/03/2021, à 17:29)

Hors ligne

#6 Le 01/03/2021, à 00:37

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Bon j'y ai pas passé longtemps, c'est plus un proof of concept qu'autre chose, mais en quelques lignes de html et javascript, j'ai fait un formulaire qui te génère un pdf : https://imgur.com/a/CvZBq24

Évidemment ça demande du travail pour reproduire ce que tu avais sous inkscape, mais une fois fait il sera super facile de générer d'autres pdfs. Et puis l'interface web y'a pas mieux comme facilité d'utilisation !

Quelle est l'utilisation finale ? Est-ce pour une association ? Une entreprise ?


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#7 Le 01/03/2021, à 11:11

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

C'est exactement l'idée :-) Je vois bien ton image.....
Maintenant comment fais-tu, voudrais tu me "pister" ? (Je veux bien lire ta procédure / suivre tes conseils... en JS, je me doute bien du déroulement (form, input, button....).
Comment ensuite entres-tu les variables en italiques / dans les champs respectifs ? et onClick comme génères-tu du pdf final....?
Voudrais-tu me faire parvenir ton "code" ?

Je vois bien ton image mais aucun script ! Super, si cela pouvait produire ce résultat final, il ne me faut pas plus je pense en premier jet.

C'est pour un groupe local FB d'échange et dons de graines, j'offre la pochette... je compte en plus du côté virtuel, installer "une armoire / donnerie"

Hors ligne

#8 Le 01/03/2021, à 11:53

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Ok, je te file les sources, et je te laisse te débrouiller pour le reste : https://bitbucket.org/Vobul/potager/src/master/

Enjoy!


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#9 Le 01/03/2021, à 12:16

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

ok merci super.... je vais analyser / adapter plus en detail :-) génial...

néanmoins , je dois encore avoir un conseil.... comment puis-je l'intégrer dans mon modèle (pliage d'origine) ?? Je dois le superposer ? A quel moment / où puis-je l'inclure ? Est-ce que c'est de cette manière qu'il faut l'imaginer (=scirpt dans pdf ou double pdf superposé,...) ?

Hors ligne

#10 Le 01/03/2021, à 12:36

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Édite index.js pour reproduire ton modèle avec des lignes et tout ce qu'il faut. Tu peux tout faire avec la librairie utilisée : https://rawgit.com/MrRio/jsPDF/master/docs/index.html


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#11 Le 01/03/2021, à 22:22

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

ok je vais dépatouiller cela super.
Ensuite (une fois cela mis en place localement), je dois trouver un service / serveur (une idée d'une plateforme intéressante / free à me conseiller ?).... devrais-je "installer" jsPDF (ou autre lib,...etc...) ou cela est aujourd'hui présent sur les services de serveur (est-ce que bitbucket est un serveur à proprement parler qui permet de partager et d'offrir ce service Pdf ?)...  (je dois en effet me remettre un peu niveau et dans le bain, merci pour le raccourcis et les réponses efficace :-) )

Hors ligne

#12 Le 02/03/2021, à 00:20

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Je ne conseille rien de gratuit. Mais pour 7€/mois (ou moins si tu parviens à prendre une "stardust") t'as un VPS chez Scaleway qui pourra faire le job. Si tu utilises ce lien : https://m.do.co/c/c2ce8f861e0e pour te créer un compte chez DigitalOcean, t'as 100$ pendant un mois. Puis tu peux avoir un vps à 5$/mois. C'est vraiment pas cher, mais bon ça nécessite un minimum de connaissances de sysadmin.

Y'a les github pages qui peuvent faire l'affaire aussi je pense : https://pages.github.com/ (là ce sera gratuit)

Et oui il faudra installer "jspdf", je t'ai mis les commandes dans le README wink


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#13 Le 02/03/2021, à 19:03

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

merci beaucoup pour les infos... :-)

Hors ligne

#14 Le 11/03/2021, à 00:02

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

hello jsPDF n'est pas présent dans les packets ubu, dois-je dès lors installer -yarn, puis -curl pour aboutir à jsPDF ?
-dois-je l'installer sur ma machine (pour faire les tests en local), mais dévrai-je l'installer (commandes / sous-dossiers ?) sur l'hébergeur ? ou les serveurs/hébergeurs le fournissent (lien avec json ?).....

jusqu'ici, je n'ai pas su adapter grand chose, à part avoir le jscript d'intro, je n'ai pas (encore) aboutit à autre chose :-)

--ensuite je suis vraiment au ras des pâquerettes pour la suite, je ne vois tjrs pas comment disposer les textes à une position précise et en diagonale (fichier .json ?), mais si ce n'était que ça !! Car je ne vois pas non plus comment utiliser un "gabarit / modèle" de départ pour y coller les paramètres,.... je vois sur la page beaucoup de 'class', mais aucune idée (SetPage peut-être....)

Dernière modification par arnoxz (Le 11/03/2021, à 00:22)

Hors ligne

#15 Le 11/03/2021, à 04:38

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

jspdf est une librairie javascript, qui s'installe avec yarn ou npm.

J'arrête mon aide ici car la distance de connaissance me semble trop grande, et la solution que je propose n'est viable que si l'on possède déjà des connaissances en javascript et web.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#16 Le 11/03/2021, à 12:33

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

bien sur ma connaissance atteint vite les limites, bien que j'aie à l'époque développé bcp de javascript et asp, html (bon oui même cobol et basic :-) ..... mais avec les technologies des débuts, je n'ai plus suivi car je n'en n'avais plus besoin et  le peu de pratique, mais je compte m'y remettre (ca devrait revenir/adapter rapidement :-))..
Mais en effet, je voulais un raccourcis ou en tout cas aller au but, je m'aperçois que bcp de nouveautés m'oblige à reconsidérer ces langages, (les standards en css et html 5 c'est tout chamboulé et les anciens réflexes restent).
MErci cependant pour ta réponse, cela me permet toutefois de confirmer mes questions (pour yarn, npm... et le fait que ce soit une librairie que l'on va chercher (avec tout son lot de cmd)) -- ok.... "reste plus" que de comprendre comment calquer les données/champs js à placer sur mon gabarit...

Hors ligne

#17 Le 17/05/2021, à 18:03

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Vobul a écrit :

jspdf....

Bonjour Vobul...

Je suis arrivé à mettre en place "les champs à mettre en forme" et à produire un pdf avec les données requises.... (merci c'est grâce en grande partie à toi)

Voudrais-tu encore me donner un coup de pouce, en effet, maintenant que je peux produire ce pdf, je ne sais pas comment combiner ce document avec mon premier existant sur lequel je voudrais superposer les données (le nom, couleur,...) doivent maintenant se trouver sur un autre document qui est modèle de pliage... (je me trompe peut-être tout à fait d'approche finalement et je dois peut-être envisager une autre manière pratique ?? - aucune idée si c'est comme cela que je dois concevoir sa réalisation)

je joins exactement le document pdf sur lequel les données javascript/jspdf doivent venir se superposer via ce lien pour avoir une idée précise :
Modèle Pliage PDF

Je me pose donc la question suivante, est-ce une option supplémentaire de jsPDF (add, combine,....) dans le même script ou bien dois-je faire appel à un autre programme/librairie ??

Aussi, mais c'est secondaire, existe t'il un outil pour positionner le texte précisément sur la page ?? j'ai essayé d'ouvrir mon doc pliage dans gimp afin de repérer les positions des pixels, mais cela ne correspond pas aux positions html/jscript... peut-être dois-je l'ouvrir sous un certain format de dpi (? j'ai opté pour 300dpi, sans correspondre)

Voici sur une page le script et mise en page réalisée :

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  	<title>Produire sa pochette de semence à imprimer en PDF !</title>
  	
  	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>  	
  	
	  	<script type="text/javascript" src="js/jspdf.min.js"></script> 
	
  </head>
  <body>

  	
  
    <label for='name'>Nom :</label>
    <input type="text" id='name' /><br \>
    <label for='daterec'>Date récolte :</label>
    <input id='daterec' /><br \>
    <label for='origine'>Origine :</label>
    <input id='origine' /><br \>
    <label for='color'>Couleur :</label>
    <input id='color' /><br \>
    <br \>
  
    <br \>
    <button type="button">Production pochette PDF !</button>
       
<!-- <button id="maz" onclick=clear()>Effacer</button> -->
    <button id="pfuit" onclick="propre()">Tout effacer</button>
    

<script>
	$(document).ready(function(){
		$("button").click(function(){
			var namex = $.trim($("#name").val());
				if(namex != ""){
					// show alert dialog if value is not blank
					var doc = new jsPDF();
					/// doc.text("Enveloppe de " + namex,10,10);
					/// doc.save("Pochette.pdf");
					
  const nameInput = document.getElementById('name');
  const name = nameInput.value;
  const colorInput = document.getElementById('color');
  const color = colorInput.value;
  const daterecInput = document.getElementById('daterec');
  const daterec = daterecInput.value;
  const origineInput = document.getElementById('origine');
  const origine = origineInput.value;

  doc.text(115, 25, `Nom : ${name}`, null, -45);
  doc.text(113, 35, `Couleur : ${color}`, null, -45);
  doc.text(152, 88, `Origine : ${origine}`, null, -45);
  doc.text(113, 48, `Date réc/fin : ${daterec}`, null, -45);
  doc.save("Enveloppe"+namex+".pdf");
					
				}
				
				else alert("Nom obligatoire !");
		});
	});


function propre() {
var elems = document.getElementsByTagName("input");
var l = elems.length;
for (var i = 0; i < l; ++i){
  elems[i].value="";
}
}
</script>

  </body>
</html>

grand merci pour ton aide si tu peux me conseiller....

Dernière modification par arnoxz (Le 17/05/2021, à 18:39)

Hors ligne

#18 Le 17/05/2021, à 18:59

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Je pense que t'as une mauvaise approche. Le pdf généré par ton app doit déjà correspondre à ce que tu veux avoir au final. Il ne faut pas chercher à fusionner deux pdfs.

Pour le positionnement du texte, ça se passe avec jspdf et/ou ton css.

Aussi, pour poster du code, le mieux c'est d'utiliser codepen.io.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#19 Le 17/05/2021, à 20:25

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

je le sentais un peu :-)...
je crois comprendre la philosophie, merci pour la confirmation (cela me permet de ne pas chercher vainement du mauvais côté)

Doit-on assembler alors texte, et image (tracés dans mon cas), directement dans un espace (A4) ? comment ? et quel format, puis-je par exemple intégrer une image png avec un fond transparent ajouté au texte ou ce serait directement une image de "fond" (jpg par exemple) sur laquelle je viens générer le texte (mais pas sur non plus que ce soit la bonne approche si on ne peut intégrer un pdf, est-il possible "d'écrire" sur une image ?)-
Si tu as un lien ou de la doc ou un conseil qui en parle, je pourrai peut-être continuer.

Ok pour le positionnement du texte, je tatonne et finis par le placer plus ou moins de manière / angle / taille / scale adéquat

Merci pour ta réponse :-) je vais/espère y arriver

Hors ligne

#20 Le 17/05/2021, à 22:21

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Tu peux tout faire. L'idée c'est de générer une page html qui ressemble à ce que tu veux et c'est ça que tu transformes en pdf. Après comment le faire c'est à toi de trouver wink


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#21 Le 17/05/2021, à 22:39

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

okok :-) - je dois du coup revenir un peu en arrière, mais au moins j'ai pu tester, pas mal,....

codepen.io, belle découverte aussi - merci merci...

Hors ligne

#22 Le 28/05/2021, à 13:50

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Vobul a écrit :

Tu peux tout faire. L'idée c'est de générer une page html qui ressemble à ce que tu veux et c'est ça que tu transformes en pdf....

AAhh enfin, la fin est proche :-)

J'ai besoin d'un dernier coup de pouce de ta part..... le fonctionnement de base est en place,..... je suis arrivé à afficher une page html (php) comme désiré,..... la dernière étape me perd tout à fait maintenant que -plutot que d'afficher cette page comme tu me le conseillais serait de la générer en pdf, c'est la que cela bloque, j'ai lu les différentes manières et approches pour générer du PDF sans aboutir..
Je lis l'existence de  jsPDF, MakePDF, Hmlt2PDF,... tous nécessitent-ils la commande (js?), comment l'installer sur le serveur (je suis chez un hébergeur, puis-je "installer" ce qu'il manque ? ou c'est d'office disponible sur les serveurs hébergeurs (comment repêcher les commandes si nécessaire ?))

Voudrais-tu m'aiguiller encore ??  En te remerciant d'avance !!

Tu peux consulter (mes efforts et nuits blanches :-) ) à l'adresse suivante, lors du clique de confirmation, une nouvelle page avec les informations+images est générée, comment,  plutot que l'afficher, la convertir en pdf (ou simplement la convertir en pdf même si affichée)..

http://grainorix.nexgate.ch/test/newprop2.htm

(c'est un hébergeur gratuit qui offre quelques outils de base)

D'autre part si tu n'as pas l'occasion de m'aider pour ce dernier saut, peut-être voudras-tu me conseiller des sites / forums qui me l'expliquerait (niveau newbie comme on dit, de manière la plus simple possible)

Hors ligne

#23 Le 28/05/2021, à 18:17

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

re-regarde le code que je t'avais filé, tu utilises la librairie js qui va bien et t'ajoutes un bouton pour faire le pdf. Mais si tu utilises php tu peux aussi faire ça avec mpdf (lib php). Et oui au lieu d'afficher la page, prend ce html et génère un pdf et c'est ça que tu sers au navigateur.

Toutes les librairies sont installables par toi (t'as un accès shell hein ?) avec npm/yarn et composer.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne

#24 Le 28/05/2021, à 18:26

arnoxz

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

merci pour ta réponse, oui c'est bien comme cela, j'ai analysé plusieurs scripts et je bloque bien pour "la méthode" d'appel de commande (mpdf,...) et également d'install... je n'ai pas accès au serveur (config), il m'héberge, comment puis-je donc l'installer (les librairies sur le serveur) ?? n'est-ce pas '"une commande / un package"  à placer quelques part sur le serveur (dans mon espace accessible du moins)... je me suis trop souvent perdu, une fois que j'essaie de recopier / adapter des scripts, plus rien ne se passe et j'arrive donc même à une page blanche exempte de code une fois analysée par le navigateur... j'ai vraiment du mal de mettre cela en place...


dans mon cas tu me recommande d'utiliser donc mpdf lib php, avant son affichage (et donc de mettre en place sur la partie de la page .php si je comprends bien ? )

Dernière modification par arnoxz (Le 28/05/2021, à 18:29)

Hors ligne

#25 Le 28/05/2021, à 18:33

Vobul

Re : Paramétrer champs [s]inkscape[/s] scribus et produire un PDF en ligne?

Je ne recommande rien, utilises php ou javascript, selon ce que tu parviens à faire fonctionner.


Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM

Hors ligne