IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Node 17.0 Manipulation de pdf pour impression


Sujet :

NodeJS

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 252
    Par défaut Node 17.0 Manipulation de pdf pour impression
    Bonjour,
    Je vais essayer d'être clair et concis.

    L'objectif de mon app est de prendre un pdf, lui rajouté une image de la taille du pdf (png background transparent) pour ajouter une "saisie" d'un utilisateur , par exemple ca peut être une signature , une rectification de document ...

    Environnement :
    Node v17
    pdfjs-dist@2.12.313
    pdf-lib@1.9.0
    @napi-rs/canvas@0.1.65

    Petit précision pour pdfjs-dist, de base il requiert la bibli node-canvas, que j'ai switch avec @napi-rs/canvas que je trouve mieux ( plus performante).

    PDF => ouverture => ajout de l'image => impression
    Problème de police , gap entre les lettres plus é qui sont remplacé par des p par exemple , bref c'est l'anarchie.

    Le problème auquel j'ai pensé :
    Superposition d'image transparente, pour généré un pdf ca le tolère mais lors de l'impression ca peut pété en fonction des pilotes / imprimantes.

    Deuxième idée : problème de police ( qui est substitué dans mon cas)
    Bon bah soit on va voir autrement non ?
    Solution :
    Je prend le pdf je le transforme en png :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    const page = await pdfDoc.getPage(i);
    const viewport = page.getViewport({ scale: 4 });
    const canvas = createCanvas(viewport.width, viewport.height);
    const ctx = canvas.getContext("2d");
    await page.render({ canvasContext: ctx, viewport }).promise;
    Je fusionne les deux images dans un canvas et pof je fais la conversion en pdf , tout est bon.
    J'imprime depuis mon poste , bah ca marche.

    Je tente dans un hotFolder qui copie le document dans "l'imprimante directement".

    Ca pète , code d'erreur 30902 qui a aucune signification pour l'imprimante en question (ricoh "300 je crois").
    On a passé dans la moulinette adoble pro analyse qui lâche que la syntaxe est bonne.


    La je sèche, pour moi un png en pdf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    const image = await outputPdf.embedPng(imageBuffer);
        const pdfPage = outputPdf.addPage([width, height]);
    Ca devrait pas pété , ca reste qu'une image dans un pdf .
    Si quelqu'un à une idée ou une information à m'apprendre je suis preneur, le problème est entre la chaise et le clavier mais ou exactement
    Parce que la jdis pas le pdf est imprimé n'importe comment ca donne "une piste" mais là.
    J'ai tenté de passé par stirling pdf / ilovePdf , ca me génère n'importe quoi ( image to pdf).

    Merci d'avance


    EDIT :
    Impression serveur d'impression diffère d'une impression manuelle d'un pdf ?
    Un problème sans solution est un problème mal posé. (Albert Einstein)

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 252
    Par défaut
    Ya plus simple du style pdfKit
    Un problème sans solution est un problème mal posé. (Albert Einstein)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Manipuler fichier PDF
    Par Yashine dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2009, 13h21
  2. manipuler un pdf en byte en utildant itext
    Par yazen dans le forum Documents
    Réponses: 0
    Dernier message: 27/10/2008, 12h20
  3. Manipuler des PDF
    Par PpPool dans le forum Composants VCL
    Réponses: 5
    Dernier message: 09/04/2008, 13h29
  4. enregistrer et manipuler des pdf (ou autres) dans 4D
    Par le petit nicolas dans le forum 4D
    Réponses: 3
    Dernier message: 05/02/2008, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo