Scannerizzare un documento su file PDF

di DanieleG il
13 risposte

Buongiorno a tutto il forum.

ambiente: VS2008

Devo interfacciarmi con uno scanner, e salvare la scansione in un file pdf.

Qualcuno ha già avuto questa problematica ?, si risolve solamente con dll esterne a pagamento?

Al momento, utilizzando la libreria Windows Image Acquisition, eseguo la scansione, ma ovviamte ottendo solamente dei file immagine.

Grazie a tutti

DG

13 Risposte

  • Leggi da scanner, stampi su stampante

    lo scanner e' quello che e'

    la stampante e', al minimo “Microsoft Print To PDF”.

  • Ovviamente @Migliorabile ti ha già dato delle preziose indicazioni,
    ed infatti quello che non hai spiegato bene è se, una volta acquisita l'immagine, devi trasformarla in testo oppure se devi semplicemente trasformare l'immagine in PDF.

  • Ciao, e grazie a entrambi per le risposte.

    Esatto SirJo, devo semplicemente salvare in PDF il risultato della scannerizzazione.

    In pratica devo far scannerizzare all'utente una Bolla/DDT e salvarla in Pdf.

    Al momento sono arrivato a questo:

    acquisisco il DDT in png o in jpg, e successivamente lo “stampo” tramite la stampante PDFCreator.

    Ho notato che perde un do di "qualità", ma credo possa andare bene.

    Potrebbero esserci altre soluzioni ?

    (domanda extra argomento…..posso “impostare da codice il nome file” che vado a creare con PDFCreator ?  al momento lo rinomino successivamente)

    Grazie a tutti

    DG


  • Anche io ho dei programmi dove stampo su PDFcreator e mi funziona perfettamente, però devo installare PDFcreator, configurarlo, eccetera, e non sempre ho il cliente vicino o un tecnico che ci possa andare, ok per la teleassistenza ma è sempre tempo perso, per cui soldi in più.

    Su alcuni programmi quindi preferisco usare la libreria gratuita PdfSharp che mi permette di creare un oggetto PDF, scriverci dentro, e salvarlo.

    Non ho mai provato a inserire una immagine nel PDF creato ma non credo che ci siano problemi.

    Ti allego un pezzo di codice dove vedi la semplicità di fare ciò, ovviamente al posto di gfx.DrawString dovrai usare gfx.DrawImage

            Dim out = New PdfDocument
            Dim page As Pdf.PdfPage
            Dim gfx As Drawing.XGraphics
    
            page = out.AddPage()
            gfx = XGraphics.FromPdfPage(page)
    
            gfx.DrawString("MODALITA' RITIRO:", New XFont("Arial", 12, XFontStyle.Bold), XBrushes.Black, 37, 690)
    
            out.Save("Passaporto.pdf")
    
  • Molte grazie come sempre SirJo !!!

    Faccio delle prove per adattare il tuo codice con quanto serve a me, e mi sarà sicuramente utile anche per altre esigenze.

    Grazie e buon lavoro.

    DG

  • Buongiorno,

    ho fatto alcune prove, ma ho qualche problema (probabilmente nella versione di pdfsharp.dll ?)

    Usando vb net 2008, ho scaricato la versione 1.30. (mi pareva quella corretta….)

    Imports PdfSharp.Pdf
    Imports PdfSharp.Drawing
    
    Public Class Form1
    
        Sub main()
            Dim myDoc As New PdfDocument
    
    
    
        End Sub
    
    End Class
    

    Ma viene subito generato l'errore:

    PdfDocument è ambiguo nello spazio dei nomi 'PdfSharp.Pdf' 

    Grazie per i suggerimenti.

    DG

  • 30/09/2024 - DanieleG ha scritto:

    PdfDocument è ambiguo nello spazio dei nomi 'PdfSharp.Pdf' 

    Stranissimo perchè a me funziona perfettamente, vuol dire probabilmente che hai anche altre librerie con lo stesso oggetto, ma puoi sempre risolvere andando a specificare quale è l'esatto oggetto che vuoi usare, ad esempio:

    Dim myDoc As New PdfSharp.Pdf.PdfDocument

    Comunque il messaggio è strano perchè cita PdfSharp.Pdf per cui non capisco molto il perchè.

    Sto usando PdfSharp versione 1.51.5185.0 con framework 3.5 e funziona perfettamente, tu su che versione di framework stai lavorando ??

  • Ciao SirJo,

    anche io uso il framework 3.5, e la versione della dll è: 1.3.1684.0

    comunque con i riferimenti davanti funziona.

    Dim myDoc As New PdfSharp.Pdf.PdfDocument

    molte grazie, ti sono sempre debitore !

    Ciao

    DG

  • Io uso Naps2 (una interfaccia free comandabile anche da prompt)
    Preparo tutto in un file .bat e la scansione ed il salvataggio avvengono in modo trasparente

    Inoltre puoi aggiungere, togliere e unire pagine, scegliere il caricatore o il piano, fronte retro, ecc sempre tramite riga di comando

    Per me comodissimo

  • Molte grazie Sabo,

    ho dato uno sguardo a questa interfaccia, e credo che la parte prompt dei comandi sia una cosa molto interessante.

    Saluti

    DG

  • Buongiorno a tutti,

    ipotizzando di usare naps2 in modalità powershell, ci sarebbe un modo di visualizzare un'anteprima del file prodotto ?

    Grazie a tutti

    DG

Devi accedere o registrarti per scrivere nel forum
13 risposte