Arbeiten mit Tischen

Extrahieren des einfachen Textes aus der Tabelle des OneNote -Dokuments

Aspose.Note für Java bietet die Dokument Klasse an, die eine OneNote -Datei darstellt. Die Dokumentklasse enthält die GetChildnodes -Methode, die aufgerufen werden kann, um Tabellenknoten aus einem OneNote -Dokument zu extrahieren.

Dieser Artikel zeigt, wie zu:

TABELLE -Text aus OneNote -Dokument erhalten

Dieses Beispiel funktioniert wie folgt:

  1. Erstellen Sie ein Objekt der Dokumentklasse.
  2. Rufen Sie die GetChildnodes -Methode der Dokumentklasse auf.
  3. Rufen Sie eine Liste von Tabellenknoten ab.
  4. Rufen Sie den Stream-basierten Code an, um Text zu extrahieren.
  5. Zeigen Sie den Text auf dem Ausgangsbildschirm an.

Das folgende Beispiel zeigt, wie man Tabellentext von einem OneNote -Dokument abruft.

 1String dataDir = Utils.getSharedDataDir(ExtractTextFromTable.class) + "tables/";
 2
 3// Load the document into Aspose.Note
 4Document document = new Document(dataDir + "Sample1.one");
 5
 6// Get a list of table nodes
 7List<Table> nodes = document.getChildNodes(Table.class);
 8
 9for (int i = 0; i < nodes.size(); i++) {
10	Table table = nodes.get(i);
11	System.out.println("Table # " + i);
12
13	// Retrieve text
14	List<RichText> textNodes = (List<RichText>) table.getChildNodes(RichText.class);
15	StringBuilder text = new StringBuilder();
16	for (RichText richText : textNodes) {
17		text = text.append(richText.getText().toString());
18	}
19	
20	// Print text on the output screen
21	System.out.println(text);
22}

Holen Sie sich Zeilentext aus einer Tabelle in einem OneNote -Dokument

Dieses Beispiel funktioniert wie folgt:

  1. Erstellen Sie ein Objekt der Dokumentklasse.
  2. Filtern Sie eine Liste von Tabellenknoten heraus.
  3. durch Tischreihen iterieren.
  4. Rufen Sie den Stream-basierten Code an, um Text zu extrahieren.
  5. Zeigen Sie den Text auf dem Ausgangsbildschirm an.

Das folgende Beispiel zeigt, wie Zeilentext aus einer Tabelle in einem OneNote -Dokument extrahiert werden.

 1String dataDir = Utils.getSharedDataDir(ExtractRowtextfromtableinOneNotedocument.class) + "tables/";
 2
 3// Load the document into Aspose.Note.
 4Document document = new Document(dataDir + "Sample1.one", new LoadOptions());
 5
 6// Get a list of table nodes
 7List<Table> nodes = (List<Table>) document.getChildNodes(Table.class);
 8
 9// Set row count
10int rowCount = 0;
11
12for (Table table : nodes) {
13	// Iterate through table rows
14	for (TableRow row : table) {
15		rowCount++;
16		// Retrieve text
17		List<RichText> textNodes = (List<RichText>) row.getChildNodes(RichText.class);
18		StringBuilder text = new StringBuilder();
19		for (RichText richText : textNodes) {
20			text = text.append(richText.getText().toString());
21		}
22		
23		// Print text on the output screen
24		System.out.println(text);
25	}
26}

Holen Sie sich den Zelltext aus einer Zeile in einer Tabelle

Dieses Beispiel funktioniert wie folgt:

  1. Erstellen Sie ein Objekt der Dokumentklasse.
  2. Filtern Sie eine Liste von Tabellenknoten heraus.
  3. durch die Tischreihen iterieren.
  4. Filtern Sie eine Liste von Zellknoten aus jeder Zeile heraus.
  5. durch die Zeilenzellen iterieren.
  6. Rufen Sie den Stream-basierten Code an, um Text zu extrahieren.
  7. Zeigen Sie den Text auf dem Ausgangsbildschirm an.

Das folgende Beispiel zeigt, wie man Zelltext aus einer Zeile der Tabelle bekommt.

 1String dataDir = Utils.getSharedDataDir(GetCellTextFromRowOfTable.class) + "tables/";
 2
 3// Load the document into Aspose.Note.
 4Document document = new Document(dataDir + "Sample1.one");
 5
 6// Get a list of table nodes
 7List<Table> nodes = (List<Table>) document.getChildNodes(Table.class);
 8
 9
10for (Table table : nodes) {
11	// Iterate through table rows
12	for (TableRow row : table) {
13		// Get list of TableCell nodes
14		List<TableCell> cellNodes = (List<TableCell>) row.getChildNodes(TableCell.class);
15		// iterate through table cells
16		for (TableCell cell : cellNodes) {
17			// Retrieve text
18			List<RichText> textNodes = (List<RichText>) cell.getChildNodes(RichText.class);
19			StringBuilder text = new StringBuilder();
20			for (RichText richText : textNodes) {
21				text = text.append(richText.getText().toString());
22			}
23			
24			// Print text on the output screen
25			System.out.println(text);
26		}
27	}
28}

Fügen Sie eine Tabelle in OneNote -Dokument ein

Aspose.Note für Java -APIs ermöglicht es Entwicklern, eine Tabelle an einer bestimmten Knotenposition einzufügen. Dieser Artikel soll Ihnen zeigen, wie Sie programmatisch eine Tabelle in OneNote -Dokument erstellen.

Aspose.Note für Java bietet die Dokumentklasse an, die eine OneNote -Datei darstellt. Entwickler können Inhalte unter dem TableCell -Knoten anhängen, Tabellenzellen am Tablerow -Knoten, Tabellenzeile zum Tabellenknoten. Später konnten sie die Tabelle unter dem Umrisselement -Knoten, dem Umrisselement anhängen, um den Knoten, den Umriss zum Seitenknoten und dann eine Seite zum Dokumentknoten zu skizzieren. Es basiert alles auf der Aspose.Note Dom -Struktur.

Das folgende Beispiel zeigt, wie Sie eine Tabelle in ein OneNote -Dokument einfügen.

 1// The path to th documents directory.
 2String dataDir = Utils.getSharedDataDir(InsertTable.class) + "tables\\";
 3
 4Document doc = new Document();
 5
 6// Initialize Page class object
 7Page page = new Page(doc);
 8
 9// Initialize TableRow class object
10TableRow row1 = new TableRow(doc);
11
12// Initialize TableCell class objects
13TableCell cell11 = new TableCell(doc);
14TableCell cell12 = new TableCell(doc);
15TableCell cell13 = new TableCell(doc);
16
17// Append outline elements in the table cell
18cell11.appendChildLast(GetOutlineElementWithText(doc, "cell_1.1"));
19cell12.appendChildLast(GetOutlineElementWithText(doc, "cell_1.2"));
20cell13.appendChildLast(GetOutlineElementWithText(doc, "cell_1.3"));
21
22// Table cells to rows
23row1.appendChildLast(cell11);
24row1.appendChildLast(cell12);
25row1.appendChildLast(cell13);
26
27// Initialize TableRow class object
28TableRow row2 = new TableRow(doc);
29
30// initialize TableCell class objects
31TableCell cell21 = new TableCell(doc);
32TableCell cell22 = new TableCell(doc);
33TableCell cell23 = new TableCell(doc);
34
35// Append outline elements in the table cell
36cell21.appendChildLast(GetOutlineElementWithText(doc, "cell_2.1"));
37cell22.appendChildLast(GetOutlineElementWithText(doc, "cell_2.2"));
38cell23.appendChildLast(GetOutlineElementWithText(doc, "cell_2.3"));
39
40// Append table cells to rows
41row2.appendChildLast(cell21);
42row2.appendChildLast(cell22);
43row2.appendChildLast(cell23);
44
45// Initialize Table class object and set column widths
46Table table = new Table(doc);
47table.setBordersVisible(true);
48TableColumn col = new TableColumn();
49col.setWidth(200);
50
51table.getColumns().addItem(col);
52table.getColumns().addItem(col);
53table.getColumns().addItem(col);
54
55// Append table rows to table
56table.appendChildLast(row1);
57table.appendChildLast(row2);
58
59// Initialize Outline object
60Outline outline = new Outline(doc);
61
62// Initialize OutlineElement object
63OutlineElement outlineElem = new OutlineElement(doc);
64
65// Add table to outline element node
66outlineElem.appendChildLast(table);
67
68// Add outline element to outline
69outline.appendChildLast(outlineElem);
70
71// Add outline to page node
72page.appendChildLast(outline);
73
74// Add page to document node
75doc.appendChildLast(page);
76dataDir = dataDir + "InsertTable_out.one";
77doc.save(dataDir);

Erstellen Sie eine Tabelle mit gesperrten Spalten im OneNote -Dokument

Aspose.Note für Java -APIs ermöglicht es Entwicklern, eine Tabelle an einer bestimmten Knotenposition einzufügen. Dieser Artikel soll Ihnen zeigen, wie Sie eine Tabelle mit einer gesperrten Spalte in OneNote -Dokument programmatisch erstellen. Aspose.Note für Java bietet die Dokumentklasse an, die eine OneNote -Datei darstellt. Entwickler können Inhalte unter dem TableCell -Knoten anhängen, Tabellenzellen am Tablerow -Knoten, Tabellenzeile zum Tabellenknoten. Die Lockedwidth -Eigenschaft der Tischklasse ermöglicht das Schrauben ihrer Breite. Später konnten sie die Tabelle unter dem Umrisselement -Knoten, dem Umrisselement anhängen, um den Knoten, den Umriss zum Seitenknoten und dann eine Seite zum Dokumentknoten zu skizzieren. Es basiert alles auf der Aspose.Note Dom -Struktur.

Das folgende Beispiel zeigt, wie eine Tabelle mit gesperrten Spalten in einem OneNote -Dokument eingefügt wird.

 1        String dataDir = Utils.getSharedDataDir(CreateTableWithLockedColumns.class) + "tables\\";
 2
 3        // Create an object of the Document class
 4        Document doc = new Document();
 5
 6        // Initialize Page class object
 7        Page page = new Page(doc);
 8
 9        // Initialize TableRow class object
10        TableRow row1 = new TableRow(doc);
11
12        // Initialize TableCell class object and set text content
13        TableCell cell11 = new TableCell(doc);
14        cell11.appendChildLast(InsertTable.GetOutlineElementWithText(doc, "Small text"));
15        row1.appendChildLast(cell11);
16
17        // Initialize TableRow class object
18        TableRow row2 = new TableRow(doc);
19
20        // Initialize TableCell class object and set text content
21        TableCell cell21 = new TableCell(doc);
22        cell21.appendChildLast(InsertTable.GetOutlineElementWithText(doc, "Long   text    with    several   words and    spaces."));
23        row2.appendChildLast(cell21);
24
25        // Initialize Table class object
26        Table table = new Table(doc);
27        table.setBordersVisible(true);
28
29        TableColumn col = new TableColumn();
30        col.setWidth(200);
31        col.setLockedWidth(true);
32
33        table.getColumns().addItem(col);
34
35        // Add rows
36        table.appendChildLast(row1);
37        table.appendChildLast(row2);
38
39        Outline outline = new Outline(doc);
40        OutlineElement outlineElem = new OutlineElement(doc);
41
42        // Add table node
43        outlineElem.appendChildLast(table);
44
45        // Add outline element node
46        outline.appendChildLast(outlineElem);
47
48        // Add outline node
49        page.appendChildLast(outline);
50
51        // Add page node
52        doc.appendChildLast(page);
53        dataDir = dataDir + "CreateTableWithLockedColumns_out.one";
54        doc.save(dataDir);

GetOutlineElementWithText -Methode

 1public static OutlineElement GetOutlineElementWithText(Document doc, String text)
 2{
 3    OutlineElement outlineElem = new OutlineElement(doc);
 4    ParagraphStyle textStyle = new ParagraphStyle();
 5    textStyle.setFontColor(Color.BLACK);
 6    textStyle.setFontName("Arial");
 7    textStyle.setFontSize(10);;
 8
 9    RichText richText = new RichText(doc);
10    richText.setText(text);
11    richText.setParagraphStyle(textStyle);
12
13    outlineElem.appendChildLast(richText);
14    return outlineElem;
15}

Einstellen von Zellen Hintergrundfarbe

 1// Load the document into Aspose.Note.
 2Document doc = new Document();
 3
 4// Initialize TableRow class object
 5TableRow row1 = new TableRow(doc);
 6// Initialize TableCell class object and set text content
 7TableCell cell11 = new TableCell(doc);
 8cell11.appendChildLast(GetOutlineElementWithText(doc, "Small text"));
 9cell11.setBackgroundColor(Color.BLACK);
10row1.appendChildLast(cell11);

Änderung des Stils einer Tabelle

 1    private static void setRowStyle(TableRow row, Color highlightColor, boolean bold, boolean italic) {
 2        for (TableCell cell: row)
 3        {
 4            cell.setBackgroundColor(highlightColor);
 5
 6            for (RichText node: cell.getChildNodes(RichText.class))
 7            {
 8                node.getParagraphStyle().setBold(bold);
 9                node.getParagraphStyle().setItalic(italic);
10
11                for (TextStyle style: node.getStyles())
12                {
13                    style.setBold(bold);
14                    style.setItalic(italic);
15                }
16            }
17        }
18    }
19
20    public static void main(String... args) throws IOException {
21        String dataDir = Utils.getSharedDataDir(CreateTableWithLockedColumns.class) + "tables\\";
22
23        // Load the document into Aspose.Note.
24        Document document = new Document(dataDir + "ChangeTableStyleIn.one");
25
26        // Get a list of table nodes
27        List<Table> nodes = document.getChildNodes(Table.class);
28
29        for (Table table: nodes)
30        {
31            setRowStyle(table.getFirstChild(), Color.GRAY, true, true);
32
33            // Highlight first row after head.
34            boolean flag = false;
35            List<TableRow> rows = table.getChildren();
36            for (int i = 1; i < rows.size(); ++i)
37            {
38                setRowStyle(rows.get(i), flag ? Color.lightGray : new java.awt.Color(-1, true), false, false);
39
40                flag = !flag;
41            }
42        }
43
44        document.save(Paths.get(dataDir, "ChangeTableStyleOut.one").toString());
45    }
todo:image_alt_text

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.