Cześć,
Próbuję przekazać do konsoli zadanie z wcześniej przygotowaną tablicę z argumentami która wygląda np. tak:
params = [
'--setvariable=nazwa_produktu:Etykiety_samoprzylepne',
'--setvariable=id:30013-1',
'--setvariable=Ksztalt:kwadrat_-_prostokat',
'--setvariable=Szerokosc_cm:4.5',
'--setvariable=Wysokosc_cm:4.5',
'--setvariable=Podloze:Papier_Samoprzylepny_Polblysk_(PP)',
'--setvariable=Zadruk:Druk_cyfrowy_Kolor',
'--setvariable=Klej:Trwaly_(T)',
'--setvariable=Uszlachetnienie:Nie',
'--setvariable=Wykonczenie:Ciecie_na_sztuki',
'--setvariable=Ilosc_wzorow:4',
'--setvariable=Termin_Realizacji:Standard',
'--setvariable=Naklad:15'
]
Tablica przy każdej sesji ma różną długość.
Niestety przy próbie przekazania jej jako argumenty do execFile
:
const jobForCallas = execFile (
'C:/Program Files/callas pdfToolbox Server 13/cli/pdftoolbox',
[params],
(error, stdout, stderr) => {
if (error) {
throw error;
}
console.log(stdout);
}
)
lub przy próbie zmiany tablicy na stringa
let paramsForServer = `'${params.toString().replace(/,/g, "', '").replace(/'"/g, "'").replace(/"'/g, "'")}'`
const jobForCallas = execFile (
'C:/Program Files/callas pdfToolbox Server 13/cli/pdftoolbox',
[paramsForServer],
(error, stdout, stderr) => {
if (error) {
throw error;
}
console.log(stdout);
mam błędy ChildProcess tego typu:
- dla tablicy
Error: Command failed: C:/Program Files/callas pdfToolbox Server 13/cli/pdftoolbox --setvariable=nazwa_produktu:Etykiety_samoprzylepne,--setvariable=id:30013-1,--setvariable=Ksztalt:kwadrat_-_prostokat,--setvariable=Szerokosc_cm:4.5,--setvariable=Wysokosc_cm:4.5,--setvariable=Podloze:Papier_Samoprzylepny_Polblysk_(PP),--setvariable=Zadruk:Druk_cyfrowy_Kolor,--setvariable=Klej:Trwaly_(T),--setvariable=Uszlachetnienie:Nie,--setvariable=Wykonczenie:Ciecie_na_sztuki,--setvariable=Ilosc_wzorow:4,--setvariable=Termin_Realizacji:Standard,--setvariable=Naklad:15
- dla stringa :
Error: Command failed: C:/Program Files/callas pdfToolbox Server 13/cli/pdftoolbox '--setvariable=nazwa_produktu:Etykiety_samoprzylepne', '--setvariable=id:30013-1', '--setvariable=Ksztalt:kwadrat_-_prostokat', '--setvariable=Szerokosc_cm:4.5', '--setvariable=Wysokosc_cm:4.5', '--setvariable=Podloze:Papier_Samoprzylepny_Polblysk_(PP)', '--setvariable=Zadruk:Druk_cyfrowy_Kolor', '--setvariable=Klej:Trwaly_(T)', '--setvariable=Uszlachetnienie:Nie', '--setvariable=Wykonczenie:Ciecie_na_sztuki', '--setvariable=Ilosc_wzorow:4', '--setvariable=Termin_Realizacji:Standard', '--setvariable=Naklad:15'
Dla przykładu poniższa metoda działa bez zarzutu:
const merge = execFile (
'C:/Program Files/callas pdfToolbox Server 13/cli/pdftoolbox',
['--mergepdf',
`E:/Dropbox/backup_iware/${IdOrder}/${IdOrder + "-" + jobID}/`,
`-o=E:/CALLAS/MERGE_OUT/${IdOrder}/${IdOrder + "-" + jobID}.pdf`],
(error, stdout, stderr) => {
if (error) {
throw error;
}
console.log(stdout);
}
)
Ma ktoś pomysł co robię nie tak?