Districare i segnalibri di riga nel documento di Word

In questo articolo, esploreremo il codice sorgente C# sopra per capire come utilizzare la funzione Untangle Row Bookmarks nella libreria Aspose.Words per .NET. Questa funzione permette di mettere la fine dei segnalibri delle righe nella stessa riga dell’inizio dei segnalibri.

Prerequisiti

  • Conoscenza base del linguaggio C#.
  • Ambiente di sviluppo .NET con libreria Aspose.Words installata.

Passaggio 1: caricamento del documento

Noi usiamo ilDocument classe per caricare il documento esistente da un file:

string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Table column bookmarks.docx");

Passaggio 2: svelare i segnalibri di linea

Noi usiamo ilUntangle funzione per districare i segnalibri dalle righe. Questa funzione esegue l’attività personalizzata di inserire le estremità delle righe del segnalibro nella stessa riga in cui inizia il segnalibro:

Untangle(doc);

Passaggio 3: elimina la riga dal segnalibro

Noi usiamo ilDeleteRowByBookmark funzione per eliminare una riga specifica tramite il suo segnalibro:

DeleteRowByBookmark(doc, "ROW2");

Passaggio 4: verifica l’integrità degli altri segnalibri

Verifichiamo che gli altri segnalibri non siano stati danneggiati controllando se la fine del segnalibro è ancora presente:

if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
throw new Exception("Wrong, the end of the bookmark was deleted.");

doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");

Codice sorgente di esempio per Districare i segnalibri di riga utilizzando Aspose.Words per .NET

Ecco il codice sorgente di esempio completo per districare i segnalibri dalle righe utilizzando Aspose.Words per .NET:


	// Il percorso della directory dei documenti.
	string dataDir = "YOUR DOCUMENT DIRECTORY";
	Document doc = new Document(dataDir + "Table column bookmarks.docx");

	//Ciò esegue l'attività personalizzata di inserire le estremità del segnalibro di riga nella stessa riga con gli inizi del segnalibro.
	Untangle(doc);

	// Ora possiamo eliminare facilmente le righe da un segnalibro senza danneggiare i segnalibri di altre righe.
	DeleteRowByBookmark(doc, "ROW2");

	// Questo serve solo per verificare che l'altro segnalibro non sia danneggiato.
	if (doc.Range.Bookmarks["ROW1"].BookmarkEnd == null)
		throw new Exception("Wrong, the end of the bookmark was deleted.");

	doc.Save(dataDir + "WorkingWithBookmarks.UntangleRowBookmarks.docx");

Districare il codice sorgente


private void Untangle(Document doc)
        {
            foreach (Bookmark bookmark in doc.Range.Bookmarks)
            {
                // Ottieni la riga madre sia del segnalibro che del nodo finale del segnalibro.
                Row row1 = (Row) bookmark.BookmarkStart.GetAncestor(typeof(Row));
                Row row2 = (Row) bookmark.BookmarkEnd.GetAncestor(typeof(Row));

                // Se entrambe le righe vengono trovate correttamente e l'inizio e la fine del segnalibro sono contenuti in righe adiacenti,
                // sposta il nodo finale del segnalibro alla fine dell'ultimo paragrafo nell'ultima cella della riga superiore.
                if (row1 != null && row2 != null && row1.NextSibling == row2)
                    row1.LastCell.LastParagraph.AppendChild(bookmark.BookmarkEnd);
            }
        }

Codice sorgente EliminaRowByBookmark


 private void DeleteRowByBookmark(Document doc, string bookmarkName)
        {
            Bookmark bookmark = doc.Range.Bookmarks[bookmarkName];

            Row row = (Row) bookmark?.BookmarkStart.GetAncestor(typeof(Row));
            row?.Remove();
        }

Conclusione

In questo articolo, abbiamo esplorato il codice sorgente C# per capire come utilizzare la funzionalità Districa segnalibri di riga di Aspose.Words per .NET. Abbiamo seguito una guida passo passo per districare i segnalibri delle righe ed eliminare una riga specifica senza danneggiare altri segnalibri.

Domande frequenti per districare i segnalibri di riga nel documento Word

D: Riordina i segnalibri di riga funziona solo con i segnalibri di riga nelle tabelle?

R: Sì, la funzionalità Districa segnalibri di riga è progettata specificamente per districare i segnalibri di riga presenti nelle tabelle. Questa funzione può essere utilizzata per elaborare i segnalibri di riga negli array e garantire che le estremità dei segnalibri siano nella stessa riga in cui iniziano i segnalibri.

D: La funzione Riordina i segnalibri della riga modifica il contenuto del documento originale?

R: Sì, la funzione Riordina segnalibri di riga modifica il documento originale spostando la fine dei segnalibri di riga per posizionarli nella stessa riga dell’inizio dei segnalibri. Assicurati di salvare una copia di backup del documento prima di applicare questa funzione.

D: Come posso identificare i segnalibri di riga nel mio documento Word?

R: I segnalibri di riga vengono generalmente utilizzati nelle tabelle per contrassegnare sezioni specifiche. È possibile identificare i segnalibri di riga sfogliando i segnalibri nel documento e controllando se i segnalibri si trovano nelle righe della tabella.

D: È possibile districare i segnalibri di riga in tabelle non adiacenti?

R: La funzione Districa segnalibri di riga presentata in questo articolo è progettata per districare i segnalibri di riga in tabelle adiacenti. Per districare i segnalibri di riga in tabelle non adiacenti, potrebbero essere necessarie ulteriori modifiche al codice a seconda della struttura del documento.

D: Quali altre manipolazioni posso eseguire sui segnalibri di riga una volta sbrogliati?

R: Una volta sbrogliati i segnalibri di linea, puoi eseguire diverse manipolazioni secondo necessità. Ciò può includere la modifica, l’eliminazione o l’aggiunta di contenuto alle righe con segnalibri. Assicurati di maneggiare con cura i segnalibri di riga per evitare qualsiasi impatto indesiderato sul resto del documento.