itextsharp:禁用pdf剪贴板

时间:2018-12-24 15:46:28

标签: vb.net itext

我有一个从桌面接收PDF文件的功能。我想要的是在保存PDF之前,先停用剪贴板,以使它们无法复制文档的文本或图像。

我的代码:

Dim NombreArchivo As String = System.IO.Path.GetFileName(File1.PostedFile.FileName) ' obtiene nombre archivo

Dim docsubido As New Document()
Dim SaveLocation As String = Server.MapPath("Pdf") & "\" & NombreArchivo ' obtiene ruta donde se guardara
If Not File1.PostedFile Is Nothing And File1.PostedFile.ContentLength > 0 Then
    Try

        File1.PostedFile.SaveAs(SaveLocation)

        Response.Write("El archivo ha sido cargado.")
    Catch Exc As Exception
        Response.Write("Error: " & Exc.Message)
    End Try
Else
    Response.Write("Seleccione un archivo para cargar.")
End If

End Sub

1 个答案:

答案 0 :(得分:0)

最后,这是一种能够禁用仅复制和粘贴PDF属性的解决方案

Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.PdfStamper
Private Sub Submit1_ServerClick(sender As Object, e As EventArgs) Handles Submit1.ServerClick
            Dim NombrePdfEntrada As String = System.IO.Path.GetFileName(File1.PostedFile.FileName) ' obtiene nombre archivo

            Dim SaveLocation As String = Server.MapPath("Pdf") & "\" & NombrePdfEntrada ' obtiene ruta donde se guardara
            If Not File1.PostedFile Is Nothing And File1.PostedFile.ContentLength > 0 Then
                Try
                    File1.PostedFile.SaveAs(SaveLocation)
                    Dim ArchivoCargado As New PdfReader(SaveLocation)
                    Dim rutasalida As New FileStream(Server.MapPath("Pdf") & "\Nuevo" & NombrePdfEntrada, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None)
                    Dim stampArchivoOutput As New PdfStamper(ArchivoCargado, rutasalida)
                    Dim passdue As String = ""
                    Dim arraydueño() As Byte = System.Text.Encoding.ASCII.GetBytes(passdue)
                    Dim passinv As String = ""
                    Dim arrayinvitado() As Byte = System.Text.Encoding.ASCII.GetBytes(passinv)
                    stampArchivoOutput.SetEncryption(False, passdue, passinv, PdfWriter.ALLOW_PRINTING)
                    stampArchivoOutput.Close()
                    ArchivoCargado.Close()
                    Response.Write("El archivo ha sido cargado.")
                Catch Exc As Exception
                    Response.Write("Error: " & Exc.Message & Exc.HelpLink
                                   )
                End Try
            Else
                Response.Write("Seleccione un archivo para cargar.")
            End If

        End Sub
    End Class