venerdì 12 settembre 2025

C# rendere un file Pdf non modificabili con la libreria PdfSharp

In questo mini articolo, vedremo come rendere un file pdf non modificabile con la libreria gratuita PdfSharp.
Dopo aver aggiunto al progetto tramite Nuget il componente “PdfSharp” PDFsharp & MigraDoc una libreria gratuita ed open source per la gestione dei file pdf.
Aggiungiamo lo spazio dei nomi di questa libreria.
In alto, sopra ad ogni dichiarazione il namespace di PDFsharp.
Di seguito si riporta tale dichiarazione.



C#

 

using PdfSharp.Pdf;

using PdfSharp.Pdf.IO;



In un evento click del pulsante, o in una funzione, scriviamo il codice per aprire il file pdf, tramite la classe PdfDocument, apriamo il file in modalità modifica, e tramite le sottoproprietà della proprietà “SecuritySettings” impostiamo le varie restrizioni e password del proprietario (che non viene richiesta quando si apre il file pdf).
Tramite il metodo “Save”, salviamo il nuovo file.


C#

private void BtnProteggiPdf_Click(object sender, EventArgs e)

{

 

    string percorsoFilePdf = @"C:\varie\fileDaProteggere.pdf";

    string PercorsoNuovoFilePdfProtetto = @"C:\varie\fileProtetto.pdf";

    try

    {

 

 

        //Apro il file pdf per la modificarlo

        PdfDocument documentoPdf = PdfReader.Open(percorsoFilePdf, PdfDocumentOpenMode.Modify);

 

        //Imposto solo la password proprietario

        documentoPdf.SecuritySettings.OwnerPassword = "passwordProprietario";

 

        //Imposto le varie restrizioni

        documentoPdf.SecuritySettings.PermitPrint = false;

        documentoPdf.SecuritySettings.PermitModifyDocument = false;

        documentoPdf.SecuritySettings.PermitExtractContent = false;

        documentoPdf.SecuritySettings.PermitAnnotations = false;

               

        //Salvo il nuovo file con la protezione

        documentoPdf.Save(PercorsoNuovoFilePdfProtetto);

 

        MessageBox.Show("Il file PDF è protetto con il nome: "  + PercorsoNuovoFilePdfProtetto);

 

 

 

    }

    catch (Exception ex)

    {

        MessageBox.Show("Errore:" + ex.Message);

    }

 

}




Il file pdf sarà protetto come riportato nell’immagine qui di seguito.



file protezione pdf


Nessun commento: