Hi,
Hi Cedric,
Thank you for considering Aspose.Pdf for .NET.
I have tried to replicate your issue at my end but unable to reproduce the issue. Please share your template PDF file and sample code with us. This will help us to figure out the issue and reply back to you soon.
We apologize for your inconvenience.
Thanks & Regards,
Hi,
Monficher.pdf = file without secu and certificatMonFicher_Secu.pdf = file unprintable, uncopyable…MonFichier_Editor.pdf = file with Editor (Here is the security is lost)MonFichier_Cert.pdf = file with Editor and certificat (Here is the security is lost )
'Validation de la licence Aspose
Dim maLicencePdf As New Aspose.Pdf.License
maLicencePdf.SetLicense(“aspose.total.lic”)<span style="color:blue;">Dim</span> maLicencePdfKit <span style="color:blue;">As</span> <span style="color:blue;">New</span> Aspose.Pdf.Kit.<span style="color:#2b91af;">License</span> maLicencePdfKit.SetLicense(<span style="color:#a31515;">"aspose.total.lic"</span>) <span style="color:green;">'On recupère la liste des chapitres selectionnés</span> <span style="color:blue;">Dim</span> fs = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\monfichier.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.OpenOrCreate) <span style="color:blue;">Dim</span> monPdf <span style="color:blue;">As</span> <span style="color:blue;">New</span> Aspose.Pdf.Generator.<span style="color:#2b91af;">Pdf</span>(fs) <span style="color:blue;">Dim</span> maSection = monPdf.Sections.Add <span style="color:green;">' Create a Text object</span> <span style="color:blue;">Dim</span> txt <span style="color:blue;">As</span> Aspose.Pdf.Generator.<span style="color:#2b91af;">Text</span> = <span style="color:blue;">New</span> Aspose.Pdf.Generator.<span style="color:#2b91af;">Text</span>(<span style="color:#a31515;">"Test de fichier PDF"</span>) <span style="color:green;">' Add text to Header section of the Pdf file</span> maSection.Paragraphs.Add(txt) monPdf.Close() fs.Close() <span style="color:green;">'Securite</span> fs = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\monfichier.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.OpenOrCreate) <span style="color:blue;">Dim</span> outStream <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">MemoryStream</span> <span style="color:blue;">Using</span> outStream <span style="color:blue;">Dim</span> pdfSecurity <span style="color:blue;">As</span> <span style="color:#2b91af;">PdfFileSecurity</span> = <span style="color:blue;">New</span> <span style="color:#2b91af;">PdfFileSecurity</span>(fs, outStream) <span style="color:blue;">Dim</span> monPrivilege <span style="color:blue;">As</span> <span style="color:#2b91af;">DocumentPrivilege</span> = <span style="color:#2b91af;">DocumentPrivilege</span>.AllowAll monPrivilege.AllowDegradedPrinting = <span style="color:blue;">False</span> monPrivilege.AllowPrint = <span style="color:blue;">False</span> monPrivilege.AllowCopy = <span style="color:blue;">False</span> monPrivilege.ChangeAllowLevel = 0 monPrivilege.CopyAllowLevel = 0 monPrivilege.PrintAllowLevel = 0 pdfSecurity.SetPrivilege(monPrivilege) <span style="color:green;">'Pour verifier</span> <span style="color:blue;">Dim</span> fPdf = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\monFichier_Secu.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.Create) outStream.WriteTo(fPdf) fPdf.Close() fs.Close() fs = <span style="color:blue;">Nothing</span> <span style="color:green;">'Editor</span> <span style="color:blue;">Dim</span> outStream2 <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">MemoryStream</span> <span style="color:blue;">Using</span> outStream2 <span style="color:blue;">Dim</span> monEditor <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">FormEditor</span>(outStream, outStream2) monEditor.AddField(<span style="color:#2b91af;">FieldType</span>.Signature, <span style="color:#a31515;">"CNR Signature"</span>, 1, 10, 10, 110, 110) monEditor.Save() fPdf = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\monFichier_Editor.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.Create) outStream2.WriteTo(fPdf) fPdf.Close() <span style="color:blue;">End</span> <span style="color:blue;">Using</span> <span style="color:blue;">Dim</span> sig <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">Pkcs7Signature</span>(Cert, password) sig.Reason = <span style="color:blue;">String</span>.Format(<span style="color:#a31515;">"ImpressionRegistre {0}"</span>, <span style="color:blue;">Date</span>.Now.ToString(<span style="color:#a31515;">"ddMMyy HH:mm:ss"</span>)) sig.Contact = <span style="color:#a31515;">"Cedric"</span> sig.Location = <span style="color:#a31515;">"Location"</span> sig.Date = <span style="color:blue;">Date</span>.Now <span style="color:blue;">Dim</span> pdfSign <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">PdfFileSignature</span>(<span style="color:#a31515;">"c:\monFichier_Editor.pdf"</span>) pdfSign.Sign(<span style="color:#a31515;">"CNR Signature"</span>, sig) pdfSign.Save(<span style="color:#a31515;">"c:\monFichier_Signe.pdf"</span>) <span style="color:blue;">End</span> <span style="color:blue;">Using</span> <span style="color:blue;">End</span> <span style="color:blue;">Sub</span></pre><pre style="font-family: Consolas; font-size: 13px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: white; background-position: initial initial; background-repeat: initial initial; "><span style="color:blue;"><br></span></pre><pre style="font-family: Consolas; font-size: 13px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: white; background-position: initial initial; background-repeat: initial initial; "><pre style="font-family: Consolas; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: white; background-position: initial initial; background-repeat: initial initial; "> <span style="color:blue;">Sub</span> impressionSecuCert2(Cert <span style="color:blue;">As</span> <span style="color:blue;">String</span>, password <span style="color:blue;">As</span> <span style="color:blue;">String</span>) <span style="color:green;">'Validation de la licence Aspose</span> <span style="color:blue;">Dim</span> maLicencePdf <span style="color:blue;">As</span> <span style="color:blue;">New</span> Aspose.Pdf.<span style="color:#2b91af;">License</span> maLicencePdf.SetLicense(<span style="color:#a31515;">"aspose.total.lic"</span>) <span style="color:blue;">Dim</span> maLicencePdfKit <span style="color:blue;">As</span> <span style="color:blue;">New</span> Aspose.Pdf.Kit.<span style="color:#2b91af;">License</span> maLicencePdfKit.SetLicense(<span style="color:#a31515;">"aspose.total.lic"</span>) <span style="color:green;">'On recupère la liste des chapitres selectionnés</span> <span style="color:blue;">Dim</span> fs = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\2_monfichier.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.OpenOrCreate) <span style="color:blue;">Dim</span> monPdf <span style="color:blue;">As</span> <span style="color:blue;">New</span> Aspose.Pdf.Generator.<span style="color:#2b91af;">Pdf</span>(fs) <span style="color:blue;">Dim</span> maSection = monPdf.Sections.Add <span style="color:green;">' Create a Text object</span> <span style="color:blue;">Dim</span> txt <span style="color:blue;">As</span> Aspose.Pdf.Generator.<span style="color:#2b91af;">Text</span> = <span style="color:blue;">New</span> Aspose.Pdf.Generator.<span style="color:#2b91af;">Text</span>(<span style="color:#a31515;">"Test de fichier PDF"</span>) <span style="color:green;">' Add text to Header section of the Pdf file</span> maSection.Paragraphs.Add(txt) monPdf.Close() fs.Close() <span style="color:green;">'Securite</span> fs = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\2_monfichier.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.OpenOrCreate) <span style="color:blue;">Dim</span> outStream <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">MemoryStream</span> <span style="color:blue;">Using</span> outStream <span style="color:green;">'Editor</span> <span style="color:blue;">Dim</span> outStream2 <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">MemoryStream</span> <span style="color:blue;">Using</span> outStream2 <span style="color:blue;">Dim</span> monEditor <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">FormEditor</span>(fs, outStream2) monEditor.AddField(<span style="color:#2b91af;">FieldType</span>.Signature, <span style="color:#a31515;">"CNR Signature"</span>, 1, 10, 10, 110, 110) monEditor.Save() <span style="color:blue;">Dim</span> fPdf = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\2_monFichier_Editor.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.Create) outStream2.WriteTo(fPdf) fPdf.Close() <span style="color:blue;">Dim</span> pdfSecurity <span style="color:blue;">As</span> <span style="color:#2b91af;">PdfFileSecurity</span> = <span style="color:blue;">New</span> <span style="color:#2b91af;">PdfFileSecurity</span>(outStream2, outStream) <span style="color:blue;">Dim</span> monPrivilege <span style="color:blue;">As</span> <span style="color:#2b91af;">DocumentPrivilege</span> = <span style="color:#2b91af;">DocumentPrivilege</span>.AllowAll monPrivilege.AllowDegradedPrinting = <span style="color:blue;">False</span> monPrivilege.AllowPrint = <span style="color:blue;">False</span> monPrivilege.AllowCopy = <span style="color:blue;">False</span> monPrivilege.ChangeAllowLevel = 0 monPrivilege.CopyAllowLevel = 0 monPrivilege.PrintAllowLevel = 0 pdfSecurity.SetPrivilege(monPrivilege) <span style="color:green;">'Pour verifier</span> fPdf = <span style="color:blue;">New</span> <span style="color:#2b91af;">FileStream</span>(<span style="color:#a31515;">"c:\2_monFichier_Secu.pdf"</span>, <span style="color:#2b91af;">FileMode</span>.Create) outStream.WriteTo(fPdf) fPdf.Close() fs.Close() fs = <span style="color:blue;">Nothing</span> <span style="color:blue;">End</span> <span style="color:blue;">Using</span> <span style="color:blue;">Dim</span> sig <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">Pkcs7Signature</span>(Cert, password) sig.Reason = <span style="color:blue;">String</span>.Format(<span style="color:#a31515;">"ImpressionRegistre {0}"</span>, <span style="color:blue;">Date</span>.Now.ToString(<span style="color:#a31515;">"ddMMyy HH:mm:ss"</span>)) sig.Contact = <span style="color:#a31515;">"Cedric"</span> sig.Location = <span style="color:#a31515;">"Location"</span> sig.Date = <span style="color:blue;">Date</span>.Now <span style="color:blue;">Dim</span> pdfSign <span style="color:blue;">As</span> <span style="color:blue;">New</span> <span style="color:#2b91af;">PdfFileSignature</span>(<span style="color:#a31515;">"c:\monFichier_Editor.pdf"</span>) pdfSign.Sign(<span style="color:#a31515;">"CNR Signature"</span>, sig) pdfSign.Save(<span style="color:#a31515;">"c:\2_monFichier_Signe.pdf"</span>) <span style="color:blue;">End</span> <span style="color:blue;">Using</span> <span style="color:blue;">End</span> <span style="color:blue;">Sub</span></pre></pre></div>
Hi Prochass,
I apologize for the delay in the response.
I have tested the scenario and I am able to notice the same problem. For the sake of correction, I have logged this problem for investigation as PDFNEWNET-32513 in our issue tracking system. We will further look into the details of this problem and will keep you updated on the status of correction.
We are realy sorry for your inconvenience.
Thanks & Regards,
Hi Prochass,
Thanks for your patience.
I am very pleased to inform you that our develpment team has investigated your issue and found several "suspicious" issues, please find below mentioned findings of our development team against your issue.
1. Code snippet is invalid, it represents, the mixture of calling Aspose.Pdf.Kit and new Aspose.Pdf functions (e.g. creating signature object, setting license). So development team has changed code snippet in order to use only new Aspose.Pdf (see corrected.txt in attachments).
2. Your documents are broken, Adobe Acrobat open these documents but prompt to resave on closing (it means that, it definately made some changes in order to open the documents). So our development team unable to run code snippet successfully because of the broken documents. For further investigations we should understand how user get such documents. It's not strange if Aspose.Pdf can't work with broken documents but if we want to "study" Aspose.Pdf to work with broken documents we must know their origin (otherwise we can easily say, its work with normal documents).
Please feel free to contact support in case you need any further assistance.
Thanks & Regards,
Hi,
Hi Prochass,
Thank you for the feedback.
You can contact to Aspose.Cells forum, in case you were creating broken PDF documents using Aspose.Cells API. This will help you to identify the exact issue.
Please feel free to contact support in case you need any further assistance.
Thanks & Regards,