Utilizzo di forme di documento in Aspose.Words per Java

Introduzione all’uso delle forme di documento in Aspose.Words per Java

In questa guida completa, approfondiremo il mondo delle forme di documenti in Aspose.Words per Java. Le forme sono elementi essenziali quando si tratta di creare documenti visivamente accattivanti e interattivi. Se devi aggiungere callout, pulsanti, immagini o filigrane, Aspose.Words per Java fornisce gli strumenti per farlo in modo efficiente. Esploriamo come utilizzare queste forme passo dopo passo con esempi di codice sorgente.

Iniziare con le forme dei documenti

Prima di addentrarci nel codice, impostiamo il nostro ambiente. Assicurati di avere Aspose.Words per Java integrato nel tuo progetto. Se non lo hai già fatto, puoi scaricarlo dal sito AsposeScarica Aspose.Words per Java

Aggiunta di forme ai documenti

Inserimento di una forma di gruppo

UNGroupShape ti consente di raggruppare più forme insieme. Ecco come puoi creare e inserire un fileGroupShape:

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");

Inserimento di una forma di casella di testo

Per inserire una forma di casella di testo, puoi utilizzare il fileinsertShape metodo come mostrato nell’esempio seguente:

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);

Manipolazione delle proprietà della forma

Gestione delle proporzioni

Puoi controllare se le proporzioni di una forma sono bloccate o meno. Ecco come sbloccare le proporzioni di una forma:

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");

Posizionamento di una forma in una cella di tabella

Se devi posizionare una forma all’interno di una cella di tabella, puoi farlo con il seguente codice:

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); // Visualizza la forma all'esterno della cella della tabella se verrà inserita in una cella.
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");

Utilizzo delle forme SmartArt

Rilevamento di forme SmartArt

È possibile rilevare le forme SmartArt in un documento utilizzando il codice seguente:

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.");

Aggiornamento dei disegni SmartArt

Per aggiornare i disegni SmartArt all’interno di un documento, utilizzare il codice seguente:

Document doc = new Document("Your Directory Path" + "SmartArt.docx");
for (Shape shape : (Iterable<Shape>) doc.getChildNodes(NodeType.SHAPE, true)) {
    if (shape.hasSmartArt())
        shape.updateSmartArtDrawing();
}

Conclusione

In questa guida, abbiamo esplorato il mondo delle forme di documenti in Aspose.Words per Java. Hai imparato come aggiungere varie forme ai tuoi documenti, manipolarne le proprietà e lavorare con le forme SmartArt. Con questa conoscenza, puoi creare facilmente documenti visivamente accattivanti e interattivi.

Domande frequenti

Cos’è Aspose.Words per Java?

Aspose.Words for Java è una libreria Java che consente agli sviluppatori di creare, modificare e convertire documenti Word a livello di codice. Fornisce un’ampia gamma di funzionalità e strumenti per lavorare con documenti in vari formati.

Come posso scaricare Aspose.Words per Java?

È possibile scaricare Aspose.Words per Java dal sito Web Aspose seguendo questo collegamento:Scarica Aspose.Words per Java

Quali sono i vantaggi derivanti dall’utilizzo delle forme dei documenti?

Le forme dei documenti aggiungono elementi visivi e interattività ai tuoi documenti, rendendoli più coinvolgenti e informativi. Con le forme puoi creare didascalie, pulsanti, immagini, filigrane e altro ancora, migliorando l’esperienza utente complessiva.

Posso personalizzare l’aspetto delle forme?

Sì, puoi personalizzare l’aspetto delle forme modificandone le proprietà quali dimensione, posizione, rotazione e colore di riempimento. Aspose.Words per Java offre ampie opzioni per la personalizzazione della forma.

Aspose.Words per Java è compatibile con SmartArt?

Sì, Aspose.Words per Java supporta le forme SmartArt, consentendoti di lavorare con diagrammi e grafica complessi nei tuoi documenti.