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:
- TABLE -Text aus einem OneNote -Dokument abrufen.
- Zeilentext aus einer Tabelle in einem OneNote -Dokument abrufen.
- Zelltext aus einer Zeile in einer Tabelle abrufen.
TABELLE -Text aus OneNote -Dokument erhalten
Dieses Beispiel funktioniert wie folgt:
- Erstellen Sie ein Objekt der Dokumentklasse.
- Rufen Sie die GetChildnodes -Methode der Dokumentklasse auf.
- Rufen Sie eine Liste von Tabellenknoten ab.
- Rufen Sie den Stream-basierten Code an, um Text zu extrahieren.
- 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:
- Erstellen Sie ein Objekt der Dokumentklasse.
- Filtern Sie eine Liste von Tabellenknoten heraus.
- durch Tischreihen iterieren.
- Rufen Sie den Stream-basierten Code an, um Text zu extrahieren.
- 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:
- Erstellen Sie ein Objekt der Dokumentklasse.
- Filtern Sie eine Liste von Tabellenknoten heraus.
- durch die Tischreihen iterieren.
- Filtern Sie eine Liste von Zellknoten aus jeder Zeile heraus.
- durch die Zeilenzellen iterieren.
- Rufen Sie den Stream-basierten Code an, um Text zu extrahieren.
- 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 }
