Utilisation des formes de document dans Aspose.Words pour Java
Introduction à l’utilisation des formes de document dans Aspose.Words pour Java
Dans ce guide complet, nous allons nous plonger dans le monde des formes de documents dans Aspose.Words pour Java. Les formes sont des éléments essentiels pour créer des documents visuellement attrayants et interactifs. Que vous ayez besoin d’ajouter des légendes, des boutons, des images ou des filigranes, Aspose.Words pour Java fournit les outils pour le faire efficacement. Explorons comment utiliser ces formes étape par étape avec des exemples de code source.
Premiers pas avec les formes de documents
Avant de passer au code, configurons notre environnement. Assurez-vous d’avoir intégré Aspose.Words for Java à votre projet. Si ce n’est pas déjà fait, vous pouvez le télécharger depuis le site Web d’AsposeTélécharger Aspose.Words pour Java
Ajout de formes aux documents
Insérer une GroupShape
UNGroupShape
vous permet de regrouper plusieurs formes ensemble. Voici comment vous pouvez créer et insérer unGroupShape
:
Document doc = new Document();
doc.ensureMinimum();
GroupShape groupShape = new GroupShape(doc);
Shape accentBorderShape = new Shape(doc, ShapeType.ACCENT_BORDER_CALLOUT_1);
accentBorderShape.setWidth(100.0);
accentBorderShape.setHeight(100.0);
groupShape.appendChild(accentBorderShape);
Shape actionButtonShape = new Shape(doc, ShapeType.ACTION_BUTTON_BEGINNING);
actionButtonShape.setLeft(100.0);
actionButtonShape.setWidth(100.0);
actionButtonShape.setHeight(200.0);
groupShape.appendChild(actionButtonShape);
groupShape.setWidth(200.0);
groupShape.setHeight(200.0);
groupShape.setCoordSize(new Dimension(200, 200));
DocumentBuilder builder = new DocumentBuilder(doc);
builder.insertNode(groupShape);
doc.save("Your Directory Path" + "WorkingWithShapes.AddGroupShape.docx");
Insertion d’une forme de zone de texte
Pour insérer une forme de zone de texte, vous pouvez utiliser leinsertShape
méthode comme indiqué dans l’exemple ci-dessous :
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertShape(ShapeType.TEXT_BOX, RelativeHorizontalPosition.PAGE, 100.0,
RelativeVerticalPosition.PAGE, 100.0, 50.0, 50.0, WrapType.NONE);
shape.setRotation(30.0);
builder.writeln();
shape = builder.insertShape(ShapeType.TEXT_BOX, 50.0, 50.0);
shape.setRotation(30.0);
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions(SaveFormat.DOCX);
saveOptions.setCompliance(OoxmlCompliance.ISO_29500_2008_TRANSITIONAL);
doc.save("Your Directory Path" + "WorkingWithShapes.InsertShape.docx", saveOptions);
Manipulation des propriétés de forme
Gestion du rapport hauteur/largeur
Vous pouvez contrôler si le rapport hauteur/largeur d’une forme est verrouillé ou non. Voici comment déverrouiller le rapport hauteur/largeur d’une forme :
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertImage(getImagesDir() + "Transparent background logo.png");
shape.setAspectRatioLocked(false);
doc.save("Your Directory Path" + "WorkingWithShapes.AspectRatioLocked.docx");
Placer une forme dans une cellule de tableau
Si vous devez placer une forme à l’intérieur d’une cellule de tableau, vous pouvez y parvenir avec le code suivant :
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.startTable();
builder.getRowFormat().setHeight(100.0);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
for (int i = 0; i < 31; i++) {
if (i != 0 && i % 7 == 0)
builder.endRow();
builder.insertCell();
builder.write("Cell contents");
}
builder.endTable();
Shape watermark = new Shape(doc, ShapeType.TEXT_PLAIN_TEXT);
watermark.setRelativeHorizontalPosition(RelativeHorizontalPosition.PAGE);
watermark.setRelativeVerticalPosition(RelativeVerticalPosition.PAGE);
watermark.isLayoutInCell(true); // Afficher la forme en dehors de la cellule du tableau si elle doit être placée dans une cellule.
watermark.setWidth(300.0);
watermark.setHeight(70.0);
watermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
watermark.setVerticalAlignment(VerticalAlignment.CENTER);
watermark.setRotation(-40);
watermark.setFillColor(Color.GRAY);
watermark.setStrokeColor(Color.GRAY);
watermark.getTextPath().setText("watermarkText");
watermark.getTextPath().setFontFamily("Arial");
watermark.setName("WaterMark_{Guid.NewGuid()}");
watermark.setWrapType(WrapType.NONE);
Run run = (Run) doc.getChildNodes(NodeType.RUN, true).get(doc.getChildNodes(NodeType.RUN, true).getCount() - 1);
builder.moveTo(run);
builder.insertNode(watermark);
doc.getCompatibilityOptions().optimizeFor(MsWordVersion.WORD_2010);
doc.save("Your Directory Path" + "WorkingWithShapes.LayoutInCell.docx");
Travailler avec des formes SmartArt
Détection des formes SmartArt
Vous pouvez détecter des formes SmartArt dans un document à l’aide du code suivant :
Document doc = new Document("Your Directory Path" + "SmartArt.docx");
List<Shape> shapes = IterableUtils.toList(doc.getChildNodes(NodeType.SHAPE, true));
int count = (int) shapes.stream().filter(s -> s.hasSmartArt()).count();
System.out.println("The document has " + count + " shapes with SmartArt.");
Mise à jour des dessins SmartArt
Pour mettre à jour les dessins SmartArt dans un document, utilisez le code suivant :
Document doc = new Document("Your Directory Path" + "SmartArt.docx");
for (Shape shape : (Iterable<Shape>) doc.getChildNodes(NodeType.SHAPE, true)) {
if (shape.hasSmartArt())
shape.updateSmartArtDrawing();
}
Conclusion
Dans ce guide, nous avons exploré le monde des formes de document dans Aspose.Words pour Java. Vous avez appris à ajouter diverses formes à vos documents, à manipuler leurs propriétés et à travailler avec des formes SmartArt. Grâce à ces connaissances, vous pouvez créer facilement des documents visuellement attrayants et interactifs.
FAQ
Qu’est-ce que Aspose.Words pour Java ?
Aspose.Words for Java est une bibliothèque Java qui permet aux développeurs de créer, modifier et convertir des documents Word par programmation. Elle offre une large gamme de fonctionnalités et d’outils pour travailler avec des documents dans divers formats.
Comment puis-je télécharger Aspose.Words pour Java ?
Vous pouvez télécharger Aspose.Words pour Java à partir du site Web d’Aspose en suivant ce lien :Télécharger Aspose.Words pour Java
Quels sont les avantages de l’utilisation de formes de document ?
Les formes de document ajoutent des éléments visuels et de l’interactivité à vos documents, les rendant ainsi plus attrayants et informatifs. Avec les formes, vous pouvez créer des légendes, des boutons, des images, des filigranes et bien plus encore, améliorant ainsi l’expérience utilisateur globale.
Puis-je personnaliser l’apparence des formes ?
Oui, vous pouvez personnaliser l’apparence des formes en ajustant leurs propriétés telles que la taille, la position, la rotation et la couleur de remplissage. Aspose.Words pour Java offre de nombreuses options de personnalisation des formes.
Aspose.Words pour Java est-il compatible avec SmartArt ?
Oui, Aspose.Words pour Java prend en charge les formes SmartArt, vous permettant de travailler avec des diagrammes et des graphiques complexes dans vos documents.