Class PdfExportService
java.lang.Object
it.uniupo.simnova.service.export.PdfExportService
Servizio per l'esportazione di scenari in formato PDF.
 Questo servizio utilizza la libreria Apache PDFBox per generare documenti PDF
 contenenti informazioni dettagliate sugli scenari, aggregando dati da vari servizi.
- Version:
- 1.0
- Author:
- Alessandro Zappatore
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic org.apache.pdfbox.pdmodel.PDPageContentStreamLo stream di contenuto corrente utilizzato per disegnare elementi sulla pagina PDF.static floatLa posizione corrente sull'asse Y per il disegno del contenuto nella pagina PDF.static org.apache.pdfbox.pdmodel.font.PDFontIl font PDF utilizzato per il testo in grassetto.static org.apache.pdfbox.pdmodel.font.PDFontIl font PDF utilizzato per il testo in grassetto e corsivo.static org.apache.pdfbox.pdmodel.font.PDFontIl font PDF utilizzato per il testo in corsivo.static org.apache.pdfbox.pdmodel.font.PDFontIl font PDF utilizzato per il testo normale.
- 
Constructor SummaryConstructorsConstructorDescriptionPdfExportService(ScenarioService scenarioService, FileStorageService fileStorageService, MaterialeService materialeService, PatientSimulatedScenarioService patientSimulatedScenarioService, AzioneChiaveService azioneChiaveService, PazienteT0Service pazienteT0Service, EsameRefertoService esameRefertoService, EsameFisicoService esameFisicoService, AdvancedScenarioService advancedScenarioService) Costruisce una nuova istanza diPdfExportService.
- 
Method SummaryModifier and TypeMethodDescriptionstatic voidcheckForNewPage(float neededSpace) Controlla se è necessario creare una nuova pagina nel documento PDF.byte[]exportScenarioToPdf(int scenarioId, boolean desc, boolean brief, boolean infoGen, boolean patto, boolean azioni, boolean obiettivi, boolean moula, boolean liqui, boolean matNec, boolean param, boolean acces, boolean fisic, boolean esam, boolean time, boolean scen) Esporta uno scenario e i suoi dati correlati in un documento PDF.static voidInizializza una nuova pagina all'interno del documento PDF.
- 
Field Details- 
currentYPositionpublic static float currentYPositionLa posizione corrente sull'asse Y per il disegno del contenuto nella pagina PDF. Viene aggiornata dinamicamente durante la generazione del documento.
- 
currentContentStreampublic static org.apache.pdfbox.pdmodel.PDPageContentStream currentContentStreamLo stream di contenuto corrente utilizzato per disegnare elementi sulla pagina PDF.
- 
FONTBOLDpublic static org.apache.pdfbox.pdmodel.font.PDFont FONTBOLDIl font PDF utilizzato per il testo in grassetto.
- 
FONTBOLDITALICpublic static org.apache.pdfbox.pdmodel.font.PDFont FONTBOLDITALICIl font PDF utilizzato per il testo in grassetto e corsivo.
- 
FONTREGULARpublic static org.apache.pdfbox.pdmodel.font.PDFont FONTREGULARIl font PDF utilizzato per il testo normale.
- 
FONTITALICpublic static org.apache.pdfbox.pdmodel.font.PDFont FONTITALICIl font PDF utilizzato per il testo in corsivo.
 
- 
- 
Constructor Details- 
PdfExportServicepublic PdfExportService(ScenarioService scenarioService, FileStorageService fileStorageService, MaterialeService materialeService, PatientSimulatedScenarioService patientSimulatedScenarioService, AzioneChiaveService azioneChiaveService, PazienteT0Service pazienteT0Service, EsameRefertoService esameRefertoService, EsameFisicoService esameFisicoService, AdvancedScenarioService advancedScenarioService) Costruisce una nuova istanza diPdfExportService. Inietta tutte le dipendenze dei servizi necessari per la generazione del PDF.- Parameters:
- scenarioService- Il servizio per le operazioni sugli scenari.
- fileStorageService- Il servizio per lo storage dei file.
- materialeService- Il servizio per i materiali.
- patientSimulatedScenarioService- Il servizio per gli scenari simulati con paziente.
- azioneChiaveService- Il servizio per le azioni chiave.
- pazienteT0Service- Il servizio per i dati del paziente T0.
- esameRefertoService- Il servizio per gli esami e referti.
- esameFisicoService- Il servizio per l'esame fisico.
- advancedScenarioService- Il servizio per gli scenari avanzati.
 
 
- 
- 
Method Details- 
initNewPageInizializza una nuova pagina all'interno del documento PDF. Questa operazione include la chiusura dello stream di contenuto precedente (se esistente), l'aggiunta di una nuova pagina al documento, l'apertura di un nuovo stream di contenuto e l'inserimento dei loghi (solo sulla prima pagina) e l'impostazione della posizione iniziale per il disegno del contenuto.- Throws:
- IOException- se si verifica un errore durante la creazione della pagina o la gestione dello stream.
 
- 
checkForNewPageControlla se è necessario creare una nuova pagina nel documento PDF. Se lo spazio rimanente sulla pagina corrente è inferiore allo spazio richiesto dal prossimo contenuto, viene invocatoinitNewPage()per passare a una nuova pagina.- Parameters:
- neededSpace- Lo spazio in punti PDF necessario per il prossimo blocco di contenuto.
- Throws:
- IOException- se si verifica un errore durante la creazione della nuova pagina.
 
- 
exportScenarioToPdfpublic byte[] exportScenarioToPdf(int scenarioId, boolean desc, boolean brief, boolean infoGen, boolean patto, boolean azioni, boolean obiettivi, boolean moula, boolean liqui, boolean matNec, boolean param, boolean acces, boolean fisic, boolean esam, boolean time, boolean scen) throws IOException Esporta uno scenario e i suoi dati correlati in un documento PDF. Il metodo consente di includere o escludere sezioni specifiche del contenuto tramite i flag booleani forniti.- Parameters:
- scenarioId- L'ID dello scenario da esportare.
- desc- Flag per includere la descrizione dello scenario.
- brief- Flag per includere il brief dello scenario.
- infoGen- Flag per includere le informazioni generali.
- patto- Flag per includere la sezione "Patto".
- azioni- Flag per includere le azioni chiave.
- obiettivi- Flag per includere gli obiettivi.
- moula- Flag per includere la sezione "Moula".
- liqui- Flag per includere la sezione "Liquidi".
- matNec- Flag per includere i materiali necessari.
- param- Flag per includere i parametri del paziente.
- acces- Flag per includere gli accessi.
- fisic- Flag per includere l'esame fisico.
- esam- Flag per includere gli esami e referti.
- time- Flag per includere la timeline (per scenari avanzati/simulati).
- scen- Flag per includere la sceneggiatura (solo per scenari simulati).
- Returns:
- Un array di byte contenente il documento PDF generato.
- Throws:
- IOException- se si verifica un errore durante la generazione del PDF, ad esempio problemi di I/O o caricamento font/immagini.
 
 
-