| Auszug |
|---|
|
Nuclos FileProvider: print, save, newFile, NuclosFile, Drucker, Ausgabeformat, byte[]. |
Sprache: Deutsch · English
FileProvider
NuclosFiles drucken, speichern und aus Byte-Arrays erzeugen.
| Status |
|---|
| colour | Blue |
|---|
| title | Entwickler |
|---|
|
| Status |
|---|
| colour | Green |
|---|
| title | Stand: Jul 2026 |
|---|
|
| Status |
|---|
| colour | Grey |
|---|
| title | gilt fuer Nuclos 4.2026.x |
|---|
|
Wozu dient der FileProvider?
Der FileProvider beinhaltet Methoden zur Weiterverarbeitung von NuclosFiles – Drucken, serverseitiges Speichern und Konvertieren.
| Info |
|---|
|
Als Anhang speicherbar sind nur NuclosFiles im Ausgabeformat Datei oder Bildschirm. Für den Drucker ist das |
Allgemein
Der FileProvider ist eine Hilfsklasse, die alle notwendigen Methoden zur Weiterverarbeitung von NuclosFiles beinhaltet.
| Info |
|---|
In Nuclos können nur NuclosFiles als Anhang gespeichert werden, die im Ausgabeformat "Datei" oder "Bildschirm" erstellt wurden. Dateien, die für den Drucker bestimmt sind, müssen im Format (Standard) Drucker Client/Server erstellt werden, da hier ein eigener Datei-Header verwendet wird. Dies kann dazu führen, dass für ein Formular oder einen Report zwei Ausgabeformate erstellt werden müssen, um je nach Bedarf beide Möglichkeiten abzudecken. |
Funktionsumfang
...
nötig – ggf. zwei Ausgabeformate je Report/Formular. |
print(file[, printername])
Schickt das
...
NuclosFile an den Standard- oder einen benannten Drucker.
| Codeblock |
|---|
|
public static void print(NuclosFile file) |
...
throws BusinessException; |
...
Soll im Rahmen des Ausdrucks nicht der Standard-Drucker verwendet werden, kann der Name eines anderen Druckers angegeben werden
...
public static void print(NuclosFile file, String printername) throws BusinessException; |
...
save
...
(file, directory)
Speichert das NuclosFile serverseitig im angegebenen Verzeichnis.
| Codeblock |
|---|
|
public static void save(NuclosFile file, String directory) throws BusinessException; |
| Codeblock |
|---|
|
package org.nuclet.businessentity;
import org.nuclet.printout.FormularAbschlussAuftragPO;
import org.nuclos.api.common.NuclosFile;
import org.nuclos.api.provider.PrintoutProvider;
import org.nuclos.api.provider.FileProvider;
public class AbschlussAuftragRegel implements InsertFinalRule {
public void insertFinal(InsertContext context) throws BusinessException {
Auftrag a = context.getBusinessObject(Auftrag.class);
NuclosFile result = PrintoutProvider.run(FormularAbschlussAuftragPO.Deutsch_PDF, a.getId());
// store file in FTP-Directory
FileProvider.save(result, "/home/ftp/");
// Print file on default printer
FileProvider.print(result);
}
} |
byte[] in NuclosFile umwandeln
Über FileProvider.newFile(File) lässt sich ein Byte-Array in ein NuclosFile überführen:
| Codeblock |
|---|
|
public static NuclosFile writeArrayToNuclosFile(String filename, byte[] content) throws BusinessException {
File file = null;
try {
file = new File(filename);
FileUtils.writeByteArrayToFile(file, content);
return FileProvider.newFile(file);
} catch (IOException exception) {
throw new BusinessException("Fehler beim Erzeugen der Datei " + file.getName() + ": " + exception.getMessage()); |
...
Ein Beispiel finden Sie hier.
Verwandte Seiten
BusinessObjectProvider
BOs schreiben.
Öffnen →
DatasourceProvider
Datenquellen ausführen.
Öffnen →
...