OneNote-Dokument oder -Datei laden
Laden von OneNote-Dokumenten
Die Klasse Document, die von der OneNote-Java-API oder -Bibliothek bereitgestellt wird, kann zum Laden von Microsoft OneNote-Dateien im .One-Format verwendet werden. Der folgende Beispielcode in der Programmiersprache Java zeigt die Verwendung dieser Klasse zum Laden eines Microsoft OneNote-Dokuments.
1// Load the document into Aspose.Note.
2Document oneFile = new Document(dataDir + "Aspose.one");
3
4System.out.println(oneFile.getFileFormat());
Leistungssteigerung für konsequente Exportvorgänge
Aspose.Note API ermöglicht die Steigerung der Leistung für konsequente Exportoperationen. Benutzer können mehrere Konvertierungen in mehrere unterstützte Formate durchführen. In solchen Szenarien ist die Leistung der ausschlaggebende Faktor.
Aspose.Note für Java bietet die Klasse Document, die eine OneNote-Datei darstellt. Die Document-Klasse stellt die AutomaticLayoutChangesDetectionEnabled-Eigenschaft und die DetectLayoutChanges-Methode zur Verfügung, deren kombinierte Verwendung es dem Benutzer ermöglicht, die automatische Erkennung von Layoutänderungen zu deaktivieren und sie manuell zu behandeln:
1String dataDir = Utils.getSharedDataDir(OptimizePerformanceForConsequentExportOperations.class) + "load/";
2// initialize the new Document
3Document doc = new Document();
4doc.setAutomaticLayoutChangesDetectionEnabled(false);
5// initialize the new Page
6Page page = new Page(doc);
7// default style for all text in the document.
8ParagraphStyle textStyle = new ParagraphStyle();
9
10textStyle.setFontColor(Color.BLACK);
11textStyle.setFontName("Arial");
12textStyle.setFontSize(10);
13
14// title text
15RichText titleText = new RichText(doc);
16titleText.setText("Title text.");
17titleText.setParagraphStyle(textStyle);
18
19// title date
20RichText titleDate = new RichText(doc);
21titleDate.setText("2011,11,11");
22titleDate.setParagraphStyle(textStyle);
23
24// title time
25RichText titleTime = new RichText(doc);
26titleTime.setText("12:34");
27titleTime.setParagraphStyle(textStyle);
28
29Title title = new Title(doc);
30title.setTitleText(titleText);
31title.setTitleDate(titleDate);
32title.setTitleTime(titleTime);
33page.setTitle(title);
34
35// append page node
36doc.appendChildLast(page);
37// save OneNote document in the HTML format
38try {
39 doc.save(dataDir + "OptimizePerformanceForConsequentExportOperations_out.html");
40} catch (Exception e) {
41 // TODO Auto-generated catch block
42 // e.printStackTrace();
43 System.out.println("Saving as Html: " + e.getMessage());
44}
45// save OneNote document in the PDF format
46try {
47 doc.save(dataDir + "OptimizePerformanceForConsequentExportOperations_out.pdf");
48} catch (Exception e) {
49 // TODO Auto-generated catch block
50 // e.printStackTrace();
51 System.out.println("Saving as PDF: " + e.getMessage());
52}
53// save OneNote document in the JPG format
54try {
55 doc.save(dataDir + "OptimizePerformanceForConsequentExportOperations_out.jpg");
56} catch (Exception e) {
57 // TODO Auto-generated catch block
58 // e.printStackTrace();
59 System.out.println("Saving as JPG: " + e.getMessage());
60}
61// set text font size
62textStyle.setFontSize(11);
63// detect layout changes manually
64doc.detectLayoutChanges();
65// save OneNote document in the BMP format
66try {
67 doc.save(dataDir + "OptimizePerformanceForConsequentExportOperations_out.bmp");
68} catch (Exception e) {
69 // TODO Auto-generated catch block
70 // e.printStackTrace();
71 System.out.println("Saving as bmp: " + e.getMessage());
72}
Arbeiten mit kennwortgeschützten OneNote-Dokumenten
Aspose.Note API ermöglicht das Laden von passwortgeschützten OneNote Dokumenten. Die LoadOptions-Klasse der API bietet die setDocumentPassword-Methode, um das Kennwort für das Dokument festzulegen.
Erstellen von kennwortgeschützten OneNote-Dokumenten
Aspose.Note API ermöglicht das Festlegen eines Passworts für das Dokument beim Speichern von OneNote-Dokumenten. Die Methode setDocumentPassword, die von der Klasse OneSaveOptions bereitgestellt wird, bietet die Möglichkeit, ein Dokument mit einem Passwort zu schützen.
1// Load the document into Aspose.Note.
2String dataDir = Utils.getSharedDataDir(CreatePasswordProtectedOneNoteDocuments.class) + "load/";
3
4Document document = new Document(dataDir + "Sample1.one");
5
6OneSaveOptions saveOptions = new OneSaveOptions();
7
8saveOptions.setDocumentPassword("pass");
9
10document.save(dataDir + "CreatePasswordProtected_out.one", saveOptions);
Kennwortgeschützte OneNote-Dokumente laden
Ein kennwortgeschütztes OneNote-Dokument kann mit den folgenden Schritten geladen werden:
- Erstellen Sie ein neues Objekt der Klasse LoadOptions
- Geben Sie das Passwort des Dokuments mit der Methode setDocumentPassword an
- Laden Sie das Dokument mit dem definierten Objekt der Klasse LoadOptions
1String dataDir = Utils.getSharedDataDir(LoadPasswordProtectedOneNoteDoc.class) + "load/";
2
3LoadOptions loadOptions = new LoadOptions();
4
5loadOptions.setDocumentPassword("password");
6
7Document doc = new Document(dataDir + "Sample1.one", loadOptions);
8
9System.out.println(doc.getFileFormat());
1 String dataDir = Paths.get(Utils.getSharedDataDir(LoadPasswordProtectedOneNoteDoc.class), "load").toString();
2
3 LoadOptions loadOptions = new LoadOptions();
4 loadOptions.setDocumentPassword("password");
5
6 FileInputStream stream = new FileInputStream(Paths.get(dataDir, "Sample1.one").toString());
7
8 try {
9 Document ref[] = { null };
10 if (!Document.isEncrypted(stream, loadOptions, ref))
11 {
12 System.out.println("The document is loaded and ready to be processed.");
13 }
14 else
15 {
16 System.out.println("The document is encrypted. Provide a password.");
17 }
18 }
19 finally {
20 stream.close();
21 }
1 String dataDir = Paths.get(Utils.getSharedDataDir(LoadPasswordProtectedOneNoteDoc.class), "load").toString();
2
3 Document ref[] = { null };
4 if (!Document.isEncrypted(Paths.get(dataDir, "Sample1.one").toString(), "VerySecretPassword", ref))
5 {
6 if (ref[0] != null)
7 {
8 System.out.println("The document is decrypted. It is loaded and ready to be processed.");
9 }
10 else
11 {
12 System.out.println("The document is encrypted. Invalid password was provided.");
13 }
14 }
15 else
16 {
17 System.out.println("The document is NOT encrypted. It is loaded and ready to be processed.");
18 }
Seitenteilungsalgorithmus einstellen
Bei der Konvertierung eines OneNote-Dokuments in andere Formate können Bilder und andere Inhalte aufgrund ihrer Position im Dokument gestört werden. Daher ist es notwendig, einige Methoden zur Aufteilung einer Seite festzulegen. Die Eigenschaft PdfSaveOptions.PageSplittingAlgorithm bietet verschiedene Optionen zur Festlegung eines Algorithmus für die Seitenteilung. Diese Optionen sind:
- AlwaysSplitObjectsAlgorithm - Teilt Objekte in mehrere Teile an der unteren Position der Seite.
- KeepPartAndCloneSolidObjectToNextPageAlgorithm - Fügt Objekte bis zum unteren Rand der Seite hinzu und klont das gesamte Objekt auf der nächsten Seite, falls es nicht auf die ursprüngliche Seite passt.
- KeepSolidObjectsAlgorithm - Verschiebt das gesamte Objekt auf die nächste Seite, falls es nicht auf die ursprüngliche Seite passt.
Der Standardalgorithmus ist KeepSolidObjectsAlgorithm.
Verwendung der Methode des Aufteilungsalgorithmus
1// For complete examples and data files, please go to https://github.com/aspose-note/Aspose.Note-for-Java
2
3String inputFile = "Sample1.one";
4Path inputPath = Utils.getPath(UsingSplittingAlgorithmMethod.class, inputFile);
5
6String outputFile = "output.Jpeg";
7Path outputPath = Utils.getPath(UsingSplittingAlgorithmMethod.class, outputFile);
8
9Document doc = new Document(inputPath.toString());
10
11PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
12pdfSaveOptions.setPageSplittingAlgorithm(new AlwaysSplitObjectsAlgorithm());
13// or
14pdfSaveOptions.setPageSplittingAlgorithm(new KeepPartAndCloneSolidObjectToNextPageAlgorithm());
15// or
16pdfSaveOptions.setPageSplittingAlgorithm(new KeepSolidObjectsAlgorithm());
17try {
18 doc.save(outputPath.toString(), pdfSaveOptions);
19} catch (Exception ex) {
20 System.out.println("Exception: " + ex.getMessage());
21}
Für KeepPartAndCloneSolidObjectToNextPageAlgorithm und KeepSolidObjectsAlgorithm spielt die maximal mögliche Höhe eines Objekts eine Rolle, das auf die nächste Seite geklont werden kann. Falls ein Objekt nicht geklont werden kann, wird es mit AlwaysSplitObjectsAlgorithm geteilt. Verwenden Sie den Konstruktorparameter, um diese Grenze wie unten gezeigt zu ändern:
1// For complete examples and data files, please go to https://github.com/aspose-note/Aspose.Note-for-Java
2float heightLimitOfClonedPart = 500;
3PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
4pdfSaveOptions
5 .setPageSplittingAlgorithm(new KeepPartAndCloneSolidObjectToNextPageAlgorithm(heightLimitOfClonedPart));
6// or
7pdfSaveOptions.setPageSplittingAlgorithm(new KeepSolidObjectsAlgorithm(heightLimitOfClonedPart));
KeepSolidObjectsAlgorithm
\1. Das Limit wurde überschritten und die Bilder wurden auf den gemeinsamen Seiten aufgeteilt.
1// For complete examples and data files, please go to https://github.com/aspose-note/Aspose.Note-for-Java
2pdfSaveOptions.setPageSplittingAlgorithm(new KeepSolidObjectsAlgorithm(100));
\2. Das Limit ist ausreichend und die Bilder wurden komplett auf die nächste Seite geklont.
1// For complete examples and data files, please go to https://github.com/aspose-note/Aspose.Note-for-Java
2pdfSaveOptions.setPageSplittingAlgorithm(new KeepSolidObjectsAlgorithm(400));
KeepPartAndCloneSolidObjectToNextPageAlgorithm
\1. Das Limit wurde überschritten und die Bilder wurden auf die gemeinsamen Seiten aufgeteilt.
1// For complete examples and data files, please go to https://github.com/aspose-note/Aspose.Note-for-Java
2pdfSaveOptions.setPageSplittingAlgorithm(new KeepPartAndCloneSolidObjectToNextPageAlgorithm(100));
\2. Das Limit ist ausreichend, und die Bilder wurden teilweise auf der ersten Seite hinzugefügt und vollständig auf der nächsten Seite geklont.
1// For complete examples and data files, please go to https://github.com/aspose-note/Aspose.Note-for-Java
2pdfSaveOptions.setPageSplittingAlgorithm(new KeepPartAndCloneSolidObjectToNextPageAlgorithm(400));
AlwaysSplitObjectsAlgorithm
Bilder wurden in die Seiten gemeinsam aufgeteilt.