Creare File PDF con GNU Cobol

di il
3 risposte

Creare File PDF con GNU Cobol

Salve!

Ho appena cominciato a utilizzare GNU COBOL, facilitato dall'ambiente di Sviluppo OpenCobolIDE che comprende editore, compilatore GNU COBOL e testing.

Ho scritto diversi programmini di test, che funzionano, finché non sono inciampato sul tentativo di scrivere su un file di tipo PDF, leggendo da un file .txt.

Ho consultato il manuale presenti in https://gnucobol.sourceforge.io/doc/gnucobol.pdf, ma non mi è di aiuto. Meno ancora https://gnucobol.sourceforge.io/guides/grammar.pdf , tanto per citarne due. Poi l'indice generale https://gnucobol.sourceforge.io/guides.html , che mi è stato molto utile, ma non in fatto di pdf.

Il mega reference manual, 6402 pagine, assolutamente inutile https://gnucobol.sourceforge.io/doxygen/gnucobol-2/refman.pdf

Ho trovato dei samples che effettuano chiamate a librerie, es.:

WORKING-STORAGE SECTION.

01 PDF-DOCUMENT USAGE HANDLE OF DOCUMENT.

Ma la “HANDLE OF DOCUMENT” non viene riconosciuta in esecuzione, quindi non possono funzionare le chiamate:

* Scrivi la riga nel file PDF

CALL 'itext_AddParagraph' USING PDF-DOCUMENT OutputRecord

* Salva il documento PDF su disco

CALL 'itext_SaveDocument' USING PDF-DOCUMENT "C:\Lavoro\Cobol\output.pdf"

* Libera le risorse

CALL 'itext_CloseDocument' USING PDF-DOCUMENT

CALL 'itext_DestroyDocument' USING PDF-DOCUMENT

Qualcuno è in grado di aiutarmi?

Ringrazio in anticipo

Vincent

3 Risposte

  • Re: Creare File PDF con GNU Cobol

    05/11/2023 - Vincent56 ha scritto:


    Ho trovato dei samples che effettuano chiamate a librerie,

    Non dici dove hai trovato questi esempi e a quale libreria si riferiscono.

    In ogni caso hai provato a impostare come default la stampante pdf e a scrivere il codice che invia il testo alla stampante? 

  • Re: Creare File PDF con GNU Cobol

    Ci ho pensato, direi che è un'ottima idea, ma, a parte che non avrei idea di come fare (ai tempi di MS DOS si dirigeva l'output su LPT1: ), sto procedendo a passi successivi. Temo che il codice scritto possa andar bene per la mia stampante e non per altre, ma forse sto dicendo un'idiozia. Ben venga l'idea di scrivere codice per puntare l'output alla stampante, qualora possa essere portabile; in tal modo si può decidere nelle impostazioni di sistema se stampare direttamente su file PDF o direttamente sul dispositivo di stampa. Prima di spendere ore per ravanare nella documentazione, puoi darmi una dritta in tal senso? 

    Grazie,

    Vincent

  • Re: Creare File PDF con GNU Cobol

    Ho provato a scrivere direttamente sulla stampante. Ho usato questa sintassi:

    ….

    INPUT-OUTPUT SECTION.

    FILE-CONTROL.

    SELECT PrinterFile  ASSIGN TO "HP_Deskjet_2050"  *> Il nome della stampante connessa a una qls porta USB

    ORGANIZATION IS LINE SEQUENTIAL.

    FD PrinterFile

    RECORDING MODE IS F.

    01 OutputRecord PIC X(80).

    PROCEDURE DIVISION.

    OPEN OUTPUT PrinterFile

    MOVE “Emmò te stampo io” TO OutputRecord

    DISPLAY OutputRecord

    WRITE OutputRecord

    CLOSE PrinterFile

    STOP RUN.

    ___________________________________________________

    Ecco il risultato: il programma non dà errori di compilazione.

    Viene eseguito regolarmente (Return code 0)

    Visualizza il display, ma non stampa niente.

    Allora, per non impazzire, ho trovato una soluzione di compromesso: Scrivo l'output di stampa su un file ASCII, poi stampo il file con Notepad o altro strumento. Se ho configurato la stampante su PDF, l'output andrà su PDF.

    Pensare che, ai tempi di MS-DOS, potevo scrivere: TYPE "nome-file.txt" >LPT1:  e l'output andava sulla Centronics. Adesso non saprei con la TYPE come inviare un file alla stampante USB, quindi figuriamoci in COBOL!

    Un saluto,

    Vincent

Devi accedere o registrarti per scrivere nel forum
3 risposte