Je crée dynamiquement des documents Word à l'aide du moteur de modèle Velocity. Les documents sont créés en XML (en utilisant le standard XML Microsoft Office 2003 WordprocessML).Obtenir les dimensions de l'image originale lors de l'intégration de l'image dans WordprocessingML
J'Embedding une image (codé en base64) à l'intérieur du WordML de manière traditionnelle:
<w:pict>
<v:shapeType> ... </v:shapeType>
<w:binData w:name="wordml://02000002.jpg"> [ encoded data] </w:binData>
<v:shape id="_x0000_s1026"
type="#_x0000_t75"
style="width:100%;height:100%"
o:allowoverlap="f"
>
<v:imagedata src="wordml://02000002.jpg" o:title="testimage2">
</v:imagedata>
</v:shape>
</w:pict>
La question est à l'image de la taille/mise à l'échelle. Notez l'attribut style
sur la balise <v:shape>
. Réglage de la hauteur et la largeur à 100% ne pas taille de l'image à sa taille réelle. Il définit la hauteur et la largeur à environ 1,04 pouces qui fausse l'image. Laissant la hauteur et la largeur a le même effet. Régler la hauteur et la largeur sur auto
a le même effet. Plus agaçant, si j'ouvre le document généré dans Word 2003, faites un clic droit sur l'image, ouvrez la boîte de dialogue Format Image, et allez dans l'onglet Taille, il affiche la hauteur et la largeur sous "Taille d'origine". Il fournit même un bouton «Réinitialiser» qui redimensionne l'image à sa taille d'origine (en supposant que la case «Relative to original size size» est cochée).
Ma question est:
Y at-il de toute façon dans le contexte de WordML pour obtenir les valeurs de taille d'origine pour l'image (ou demander à Word utiliser la taille de l'image d'origine)?
Si quelqu'un peut aider sera cette question, je promets que je vais écrire un blog en poste de profondeur pour assurer que je serai la dernière personne qui doit faire face à cela.
peut-être que le cadre que vous utilisez pour générer le document XML fournit une méthode pour récupérer la taille de l'image? Ou peut-il être prolongé pour que cela le fasse? –
Je pourrais faire le traitement d'image dans mon code Java et passer la hauteur/largeur au contexte de vitesse. C'est possible mais pas idéal dans ma situation. (J'ai actuellement un prototype qui fait cela, mais en raison des différences de résolution d'image (75 dpi contre 96) cela ne fonctionne pas toujours bien.) –
Je suis en train de faire face à ce que nous parlons. Avez-vous trouvé une solution par hasard? – bernhof