- Creazione PDF Temporanei (Generati)
- Assegnazione di questi su PDF OnLine e PDF per Stampa
This commit is contained in:
@@ -86,6 +86,10 @@ const CatalogSchema = new Schema({
|
||||
data_online: {
|
||||
type: Date,
|
||||
},
|
||||
pdf_online_stampa: String,
|
||||
data_online_stampa: {
|
||||
type: Date,
|
||||
},
|
||||
|
||||
date_created: {
|
||||
type: Date,
|
||||
|
||||
@@ -27,6 +27,8 @@ const Gasordine = require('../models/gasordine');
|
||||
|
||||
const { User } = require('../models/user');
|
||||
|
||||
const { Catalog } = require('../models/catalog');
|
||||
|
||||
const server_constants = require('../tools/server_constants');
|
||||
|
||||
const { ImageDownloader } = require('../tools/general.js');
|
||||
@@ -290,9 +292,15 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
||||
});
|
||||
}
|
||||
|
||||
let addstr = '';
|
||||
|
||||
if (options.compressione) {
|
||||
addstr = '_temp.pdf';
|
||||
}
|
||||
|
||||
// Salva il nuovo PDF
|
||||
const pdfBytes = await newPdfDoc.save();
|
||||
fs.writeFileSync(outputFile, pdfBytes);
|
||||
fs.writeFileSync(outputFile + addstr, pdfBytes);
|
||||
console.log(`PDF convertito e salvato come '${outputFile}'`);
|
||||
|
||||
const comprimi = false;
|
||||
@@ -302,9 +310,10 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
||||
|
||||
if (options.compressione) {
|
||||
const todayDate = tools.getDateYYYYMMDD_Today();
|
||||
const compressed = tools.removeFileExtension(outputFile) + `_${todayDate}.pdf`;
|
||||
//const compressed = tools.removeFileExtension(outputFile) + `_${todayDate}.pdf`;
|
||||
const compressed = tools.removeFileExtension(outputFile) + `_generato.pdf`;
|
||||
|
||||
await compressPdf(outputFile, compressed, options.compressione);
|
||||
await compressPdf(outputFile + addstr, compressed, options.compressione);
|
||||
|
||||
if (mostrainfo) extractPdfInfo(compressed);
|
||||
|
||||
@@ -314,7 +323,6 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
||||
if (options.dir_out && options.idapp) {
|
||||
// Crea directory se non esiste !
|
||||
// Salva il fileout anche su questa directory dir_out
|
||||
|
||||
//const fileoutdir = path.join(options.dir_out, options.file_out);
|
||||
//await fs.promises.copyFile(fileout, fileoutdir);
|
||||
//console.log(`File ${fileout} anche salvato in ${options.dir_out}`);
|
||||
@@ -322,7 +330,6 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
||||
|
||||
let fileout_print = '';
|
||||
|
||||
|
||||
// Crea anche il PDF per la stampa
|
||||
if (
|
||||
options.print_left !== 0 ||
|
||||
@@ -337,7 +344,7 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
||||
const uscita = {
|
||||
pdf_generato: tools.removePathDirByFileName(options.idapp, fileout),
|
||||
pdf_generato_stampa: tools.removePathDirByFileName(options.idapp, ris.fileout_print),
|
||||
}
|
||||
};
|
||||
|
||||
return uscita;
|
||||
} catch (e) {
|
||||
@@ -357,7 +364,7 @@ async function ConvertPDF_WithMargins(options) {
|
||||
return { err: 'Nessun file caricato.' };
|
||||
}
|
||||
|
||||
const outputFilename = path.basename(tools.removeFileExtension(options.filenameIn))+ '-stampabile.pdf';
|
||||
const outputFilename = path.basename(tools.removeFileExtension(options.filenameIn)) + '-stampabile.pdf';
|
||||
const outputPath = path.join(options.dir_out, outputFilename);
|
||||
|
||||
try {
|
||||
@@ -395,10 +402,9 @@ async function ConvertPDF_WithMargins(options) {
|
||||
const pdfBytes = await destPdfDoc.save();
|
||||
|
||||
await fs.promises.mkdir(options.dir_out, { recursive: true });
|
||||
|
||||
|
||||
await fs.promises.writeFile(outputPath, pdfBytes);
|
||||
|
||||
|
||||
fileout_print = outputPath;
|
||||
} catch (error) {
|
||||
const log = 'Errore durante la creazione del PDF per la Stampa:' + error.message;
|
||||
@@ -409,6 +415,56 @@ async function ConvertPDF_WithMargins(options) {
|
||||
return { fileout_print };
|
||||
}
|
||||
|
||||
router.post('/online-pdf', authenticate, async (req, res) => {
|
||||
console.log('/online-pdf');
|
||||
|
||||
idapp = req.body.idapp;
|
||||
id_catalog = req.body.id_catalog;
|
||||
stampa = req.body.stampa;
|
||||
let mydir = '';
|
||||
let risout = {};
|
||||
|
||||
try {
|
||||
// Aggiorna il PDF OnLine, copiando il file da Generato a OnLine
|
||||
let catalog = await Catalog.findOne({ _id: id_catalog });
|
||||
|
||||
if (catalog) {
|
||||
mydir = tools.getdirByIdApp(idapp);
|
||||
// const baseurl = this.getHostByIdApp(idapp);
|
||||
|
||||
if (stampa) {
|
||||
catalog.pdf_online_stampa = catalog.pdf_generato_stampa.replace('_generato', '');
|
||||
} else {
|
||||
catalog.pdf_online = catalog.pdf_generato.replace('_generato', '');
|
||||
}
|
||||
|
||||
// Aggiorna il PDF OnLine, copiando il file da Generato a OnLine
|
||||
const fileOrigin = mydir + (stampa ? catalog.pdf_generato_stampa : catalog.pdf_generato);
|
||||
const fileDest = mydir + (stampa ? catalog.pdf_online_stampa : catalog.pdf_online);
|
||||
const fileDestNoDir = (stampa ? catalog.pdf_online_stampa : catalog.pdf_online);
|
||||
// copia il file
|
||||
await fs.promises.copyFile(fileOrigin, fileDest);
|
||||
|
||||
if (stampa) {
|
||||
catalog.data_online_stampa = catalog.data_generato_stampa;
|
||||
} else {
|
||||
catalog.data_online = catalog.data_generato;
|
||||
}
|
||||
|
||||
// Aggiorna il record
|
||||
await catalog.save();
|
||||
|
||||
risout = {catalog: catalog._doc};
|
||||
}
|
||||
|
||||
// risout
|
||||
|
||||
return res.status(200).send(risout);
|
||||
} catch (e) {
|
||||
console.error('Err Online-pdf', e.message);
|
||||
}
|
||||
});
|
||||
|
||||
// Endpoint POST per la conversione del PDF
|
||||
router.post('/convert-pdf', upload.single('pdf'), async (req, res) => {
|
||||
if (!req.file) {
|
||||
|
||||
Reference in New Issue
Block a user