Class TextFragment
Classe TextFragment
Rappresenta un frammento di testo Pdf.
public class TextFragment : BaseParagraph
Costruttori
| Nome | Descrizione |
|---|---|
| TextFragment() | Inizializza una nuova istanza dell’oggetto TextFragment. |
| TextFragment(string) | Crea un oggetto TextFragment con un singolo oggetto TextSegment all’interno. Specifica la stringa di testo all’interno del segmento. |
| TextFragment(TabStops) | Inizializza una nuova istanza dell’oggetto TextFragment con posizioni TabStops predefinite. |
| TextFragment(string, TabStops) | Crea un oggetto TextFragment con un singolo oggetto TextSegment all’interno e posizioni TabStops predefinite. |
Proprietà
| Nome | Descrizione |
|---|---|
| BaselinePosition { get; set; } | Ottiene la posizione del testo per il testo, rappresentato con l’oggetto TextFragment. L’YIndent della struttura Position rappresenta la coordinata di base del frammento di testo. |
| EndNote { get; set; } | Ottiene o imposta la nota finale del paragrafo. (solo per la generazione di pdf) |
| FootNote { get; set; } | Ottiene o imposta la nota a piè di pagina del paragrafo. (solo per la generazione di pdf) |
| Form { get; } | Ottiene l’oggetto modulo che contiene il TextFragment |
| override HorizontalAlignment { get; set; } | Ottiene o imposta un allineamento orizzontale del frammento di testo. |
| override Hyperlink { set; } | Imposta il collegamento ipertestuale del frammento |
| IsFirstParagraphInColumn { get; set; } | Ottiene o imposta un valore booleano che indica se questo paragrafo sarà nella colonna successiva. Il valore predefinito è falso. (per la generazione di pdf) |
| IsInLineParagraph { get; set; } | Ottiene o imposta se un paragrafo è in linea. Il valore predefinito è falso. (per la generazione di pdf) |
| IsInNewPage { get; set; } | Ottiene o imposta un valore booleano che costringe questo paragrafo a generarsi in una nuova pagina. Il valore predefinito è falso. (per la generazione di pdf) |
| IsKeptWithNext { get; set; } | Ottiene o imposta un valore booleano che indica se il paragrafo corrente rimane nella stessa pagina insieme al paragrafo successivo. Il valore predefinito è falso. (per la generazione di pdf) |
| Margin { get; set; } | Ottiene o imposta un margine esterno per il paragrafo (per la generazione di pdf) |
| Page { get; } | Ottiene la pagina che contiene il TextFragment |
| Position { get; set; } | Ottiene o imposta la posizione del testo per il testo, rappresentato con l’oggetto TextFragment. |
| Rectangle { get; } | Ottiene il rettangolo del TextFragment |
| ReplaceOptions { get; } | Ottiene le opzioni di sostituzione del testo. Le opzioni definiscono il comportamento quando il testo del frammento viene sostituito con uno più corto/lungo. |
| Segments { get; set; } | Ottiene i segmenti di testo per il corrente TextFragment. |
| Text { get; set; } | Ottiene o imposta l’oggetto stringa di testo che l’oggetto TextFragment rappresenta. |
| TextEditOptions { get; set; } | Ottiene o imposta le opzioni di modifica del testo. Le opzioni definiscono un comportamento speciale quando il simbolo richiesto non può essere scritto con il carattere. |
| TextState { get; } | Ottiene o imposta lo stato del testo per il testo che l’oggetto TextFragment rappresenta. |
| override VerticalAlignment { get; set; } | Ottiene o imposta un allineamento verticale del frammento di testo. |
| WrapLinesCount { get; set; } | Ottiene o imposta il conteggio delle righe avvolte per questo paragrafo (solo per la generazione di pdf) |
| ZIndex { get; set; } | Ottiene o imposta un valore intero che indica l’ordine Z del grafico. Un grafico con un ZIndex maggiore sarà posizionato sopra il grafico con un ZIndex minore. Lo ZIndex può essere negativo. Un grafico con ZIndex negativo sarà posizionato dietro il testo nella pagina. |
Metodi
| Nome | Descrizione |
|---|---|
| override Clone() | Clona il frammento. |
| virtual CloneWithSegments() | Clona il frammento con tutti i segmenti. |
| IsolateTextSegments(int, int) | Ottiene i TextSegment(s) che rappresentano la parte specificata del testo TextFragment. |
Osservazioni
In poche parole, l’oggetto TextFragment contiene un elenco di oggetti TextSegment. In dettaglio: Il testo del documento pdf in Pdf è rappresentato da due oggetti di base: TextFragment e TextSegment. Le differenze tra di loro sono per lo più dipendenti dal contesto. Consideriamo il seguente scenario. L’utente cerca il testo “hello world” per operare su di esso, modificarne le proprietà, visualizzarlo, ecc.
Document doc = new Document(docFile);
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");
doc.Pages[1].Accept(absorber);
La rappresentazione fisica del testo pdf è molto complessa. Il testo “hello world” può consistere in diversi segmenti di testo fisicamente indipendenti. Il modello di testo Aspose.Pdf stabilisce fondamentalmente che l’oggetto TextFragment fornisce un insieme di operazioni logiche su un insieme di oggetti fisici TextSegment che rappresentano la query dell’utente. Nello scenario di ricerca del testo, TextFragment è la rappresentazione logica del testo “hello world”, e la collezione di oggetti TextSegment rappresenta tutti i segmenti fisici che costruiscono l’oggetto di testo “hello world”. Quindi, TextFragment è vicino alla rappresentazione logica del testo. E TextSegment è vicino alla rappresentazione fisica del testo. Ovviamente, ogni oggetto TextSegment può avere il proprio carattere, colore, proprietà di posizionamento. TextFragment fornisce un modo semplice per cambiare il testo con le sue proprietà: impostare il carattere, impostare la dimensione del carattere, impostare il colore del carattere, ecc. Nel frattempo, gli oggetti TextSegment sono accessibili e gli utenti possono operare con gli oggetti TextSegment in modo indipendente. Si noti che la modifica delle proprietà di TextFragment può cambiare la collezione interna Segments perché TextFragment è un oggetto aggregato e può riorganizzare i segmenti interni o unirli in un singolo segmento. Se la tua esigenza è mantenere la collezione Segments invariata, si prega di modificare i segmenti interni individualmente.
Esempi
L’esempio dimostra come trovare testo nella prima pagina del documento PDF e sostituire il testo e il suo carattere.
// Open document
Document doc = new Document(@"D:\Tests\input.pdf");
// Find font that will be used to change document text font
Aspose.Pdf.Txt.Font font = FontRepository.FindFont("Arial");
// Create TextFragmentAbsorber object to find all "hello world" text occurrences
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");
// Accept the absorber for first page
doc.Pages[1].Accept(absorber);
// Change text and font of the first text occurrence
absorber.TextFragments[1].Text = "hi world";
absorber.TextFragments[1].TextState.Font = font;
// Save document
doc.Save(@"D:\Tests\output.pdf");
Vedi Anche
- classe BaseParagraph
- namespace Aspose.Pdf.Text
- assembly Aspose.PDF