2017-08-21 2 views
0

J'essaie de créer une mise en page 2-up simple, de sorte que chaque image ait une largeur de page de 50% sur deux colonnes, mais les largeurs 'auto' ou '*' Je semble travailler avec des images.Largeur automatique des images en colonnes à l'aide de pdfmake.js

Existe-t-il un moyen d'y parvenir sans définir des largeurs explicites pour les images?

Ou sinon, est-il possible d'obtenir la largeur de la page pour que je puisse faire les calculs moi-même?

Edit:

Une version simplifiée du code que j'ai essayé est:

var dd = { 
content: [ 
    { 
     columns: [ 
      { 
       image: 'sampleImage.jpg', 
       width: 'auto' 
      }, 
      { 
       image: 'sampleImage.jpg', 
       width: '*' 
      } 
     ] 
    } 
] 
} 

En utilisant ces largeurs d'automobiles que je viens d'obtenir Uncaught Error: unsupported number: NaN dans la console. Si je les change en largeurs fixes, cependant, ils fonctionnent bien.

+0

postez votre code, qu'avez-vous essayé? –

+0

Question mise à jour @NikhilRadadiya – evu

+0

Je pense que vous devez utiliser la largeur fixe, comme vous pouvez le voir dans l'exemple de terrain de jeu http://pdfmake.org/playground.html –

Répondre

1

Je ne suis pas sûr si cette fonctionnalité est disponible dans la bibliothèque ou non. Les gens ont soulevé cela comme un problème sur la page de problème de pdfmake github, et les mêmes sont toujours ouverts.

Mais vous pouvez toujours mettre en œuvre vous-même en prenant la largeur de la page.

var pageWidth = 900; 
var pageHeigth = 1000; 

var docDefinition = { 
    pageSize: { 
     width: pageWidth, 
     height: pageHeigth 
    }, 
    pageMargins: [10, 10, 10, 10], 
    content: [{ 
     image: imageEncodedData, 
     width: pageWidth/2, // for 50 % image width 
     height: pageHeigth/2, // change the numbers accordingly 
     absolutePosition: { // absolute positioning if required 
      x: 270, 
      y: 45 
     } 
    } 
}; 
+0

Comment obtenez-vous cette largeur de page? Ou est-ce juste un nombre aléatoire? – evu

+0

Bien que ce soit un nombre aléatoire, mais vous pouvez toujours utiliser la logique avec la propriété screen.width et screen.height de javascript pour des valeurs plus dynamiques (si vous utilisez le navigateur). –

+0

Il existe également un support pour les formats de page standard comme les pages A4, A5, toute la liste disponible à la dernière section de http://pdfmake.org/#/gettingstarted –