From 2a5d0c4ef90a8ef5931d17166cc9b0a561dc2206 Mon Sep 17 00:00:00 2001 From: jeyalakshmit Date: Wed, 20 Sep 2023 15:41:29 +0530 Subject: [PATCH] Added the sample-2023 Volume 3 Release --- ...om-the-existing-signed-signature-field.sln | 25 ++++++++++++ ...the-existing-signed-signature-field.csproj | 15 +++++++ .../Input.pdf | Bin 0 -> 39452 bytes .../Program.cs | 21 ++++++++++ .../.NET/HTML-Header-and-Footer.sln | 25 ++++++++++++ .../HTML-Header-and-Footer/Data/Header.html | 9 +++++ .../HTML-Header-and-Footer/Data/footer.html | 8 ++++ .../HTML-Header-and-Footer.csproj | 15 +++++++ .../.NET/HTML-Header-and-Footer/Program.cs | 37 ++++++++++++++++++ ...from-the-existing-document-information.sln | 25 ++++++++++++ .../Input.pdf | Bin 0 -> 1887 bytes .../Program.cs | 28 +++++++++++++ ...m-the-existing-document-information.csproj | 15 +++++++ 13 files changed, 223 insertions(+) create mode 100644 Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field.sln create mode 100644 Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Get-images-from-the-existing-signed-signature-field.csproj create mode 100644 Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Input.pdf create mode 100644 Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Program.cs create mode 100644 HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer.sln create mode 100644 HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/Header.html create mode 100644 HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/footer.html create mode 100644 HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/HTML-Header-and-Footer.csproj create mode 100644 HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Program.cs create mode 100644 PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information.sln create mode 100644 PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Input.pdf create mode 100644 PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Program.cs create mode 100644 PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Remove-specific-keys-from-the-existing-document-information.csproj diff --git a/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field.sln b/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field.sln new file mode 100644 index 00000000..c5f12f9e --- /dev/null +++ b/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.6.33417.168 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Get-images-from-the-existing-signed-signature-field", "Get-images-from-the-existing-signed-signature-field\Get-images-from-the-existing-signed-signature-field.csproj", "{A30906C6-E5EF-484B-81D7-EF95CCF50F06}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A30906C6-E5EF-484B-81D7-EF95CCF50F06}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A30906C6-E5EF-484B-81D7-EF95CCF50F06}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A30906C6-E5EF-484B-81D7-EF95CCF50F06}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A30906C6-E5EF-484B-81D7-EF95CCF50F06}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {EA52E8D5-E680-40DD-B3DF-CBC23E1463E7} + EndGlobalSection +EndGlobal diff --git a/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Get-images-from-the-existing-signed-signature-field.csproj b/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Get-images-from-the-existing-signed-signature-field.csproj new file mode 100644 index 00000000..afc4dce3 --- /dev/null +++ b/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Get-images-from-the-existing-signed-signature-field.csproj @@ -0,0 +1,15 @@ + + + + Exe + net7.0 + Get_images_from_the_existing_signed_signature_field + enable + enable + + + + + + + diff --git a/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Input.pdf b/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Input.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d9b1821f28631840ce8c165a0c28a3fdf9ebace3 GIT binary patch literal 39452 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Ð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 IG!QuOKjH{SjQ{`u literal 0 HcmV?d00001 diff --git a/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Program.cs b/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Program.cs new file mode 100644 index 00000000..8b47689a --- /dev/null +++ b/Digital Signature/Get-images-from-the-existing-signed-signature-field/.NET/Get-images-from-the-existing-signed-signature-field/Program.cs @@ -0,0 +1,21 @@ +using Syncfusion.Pdf.Interactive; +using Syncfusion.Pdf.Parsing; + +namespace Get_images_from_the_existing_signed_signature_field { + internal class Program { + static void Main(string[] args) { + //Load an existing PDF file. + FileStream fileStream = new FileStream(Path.GetFullPath("../../../Input.pdf"), FileMode.Open, FileAccess.Read); + PdfLoadedDocument ldoc = new PdfLoadedDocument(fileStream); + //Get the existing signed signature field. + PdfLoadedSignatureField loadedSignature = ldoc.Form.Fields[0] as PdfLoadedSignatureField; + //Get the image streams. + Stream[] imageStreams = loadedSignature.GetImages(); + for (int i = 0; i < imageStreams.Length; i++) { + File.WriteAllBytes("Output" + i.ToString() + ".jpg", (imageStreams[i] as MemoryStream).ToArray()); + } + //Close a PDF document. + ldoc.Close(true); + } + } +} \ No newline at end of file diff --git a/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer.sln b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer.sln new file mode 100644 index 00000000..6d62c6cc --- /dev/null +++ b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.6.33417.168 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HTML-Header-and-Footer", "HTML-Header-and-Footer\HTML-Header-and-Footer.csproj", "{AE86576C-B426-4EB6-BE05-D07A860BB5B1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AE86576C-B426-4EB6-BE05-D07A860BB5B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AE86576C-B426-4EB6-BE05-D07A860BB5B1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AE86576C-B426-4EB6-BE05-D07A860BB5B1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AE86576C-B426-4EB6-BE05-D07A860BB5B1}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {666C424D-4703-4323-A2B0-6424B87A7BD1} + EndGlobalSection +EndGlobal diff --git a/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/Header.html b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/Header.html new file mode 100644 index 00000000..352ea2c5 --- /dev/null +++ b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/Header.html @@ -0,0 +1,9 @@ + + + + + +Yourmail@gmail.com
WWW.YourWebsite.Com
123, Main Street,
New York, United States
+ + \ No newline at end of file diff --git a/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/footer.html b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/footer.html new file mode 100644 index 00000000..282793bb --- /dev/null +++ b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Data/footer.html @@ -0,0 +1,8 @@ + + + + + + ++80000 1234
+80000 5678Page of
+ \ No newline at end of file diff --git a/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/HTML-Header-and-Footer.csproj b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/HTML-Header-and-Footer.csproj new file mode 100644 index 00000000..3b305fd4 --- /dev/null +++ b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/HTML-Header-and-Footer.csproj @@ -0,0 +1,15 @@ + + + + Exe + net7.0 + HTML_Header_and_Footer + enable + enable + + + + + + + diff --git a/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Program.cs b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Program.cs new file mode 100644 index 00000000..30d25e13 --- /dev/null +++ b/HTML to PDF/Blink/HTML-Header-and-Footer/.NET/HTML-Header-and-Footer/Program.cs @@ -0,0 +1,37 @@ +using Syncfusion.Drawing; +using Syncfusion.HtmlConverter; +using Syncfusion.Pdf; + +namespace HTML_Header_and_Footer { + internal class Program { + static void Main(string[] args) { + //Initialize HTML to PDF converter. + HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter(); + //Initialize blink converter settings. + BlinkConverterSettings blinkConverterSettings = new BlinkConverterSettings(); + //Set the Blink viewport size. + blinkConverterSettings.ViewPortSize = new Size(1280, 0); + //Reade the html header and footer text from the html file or you can set html string also. + string headerTemplate = File.ReadAllText(@"..\..\..\Data\header.html"); + string footerTemplate = File.ReadAllText(@"..\..\..\Data\footer.html"); + //Set the html margin-top value based on the html header height and margin-top value. + blinkConverterSettings.Margin.Top = 70; + //Set the html margin-bottom value based on the html footer height and margin-bottom value. + blinkConverterSettings.Margin.Bottom = 40; + //Set the custom HTML header to add at the top of each page. + blinkConverterSettings.HtmlHeader = headerTemplate; + //Set the custom HTML footer to add at the bottom of each page. + blinkConverterSettings.HtmlFooter = footerTemplate; + //Assign Blink converter settings to the HTML converter. + htmlConverter.ConverterSettings = blinkConverterSettings; + //Convert the URL to a PDF document. + PdfDocument document = htmlConverter.Convert("https://www.syncfusion.com"); + + //Create a filestream. + FileStream fileStream = new FileStream("Output.pdf", FileMode.Create, FileAccess.ReadWrite); + //Save and close a PDF document. + document.Save(fileStream); + document.Close(true); + } + } +} \ No newline at end of file diff --git a/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information.sln b/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information.sln new file mode 100644 index 00000000..162d7ee3 --- /dev/null +++ b/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.6.33417.168 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Remove-specific-keys-from-the-existing-document-information", "Remove-specific-keys-from-the-existing-document-information\Remove-specific-keys-from-the-existing-document-information.csproj", "{BB4C6EB7-449C-4983-A4BD-A39BFF111859}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BB4C6EB7-449C-4983-A4BD-A39BFF111859}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BB4C6EB7-449C-4983-A4BD-A39BFF111859}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BB4C6EB7-449C-4983-A4BD-A39BFF111859}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BB4C6EB7-449C-4983-A4BD-A39BFF111859}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {FB82F6AD-BB98-4EDA-9FE7-CD80EA034DBA} + EndGlobalSection +EndGlobal diff --git a/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Input.pdf b/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Input.pdf new file mode 100644 index 0000000000000000000000000000000000000000..35360e5610583c16875412860d6feaaf57592778 GIT binary patch literal 1887 zcmY!laBmM(dp@M-zeo_`MmyHcCmwrfPL8^kjb7DziPJTL&ACQ=y zTC89MR1*Z`IVKn7yX6<i0>_OE1Y#Ff`)j0%jh~3)TpEz{J3$$gl@&AWQ;gwgp9IbAZfdJjgHy ztJ#*sn{8xliSF>y0AFurLxH{QpXAf{7s+k9`#x{|+C|r|Ih?2FXuXw7M6>pL@)5ui;R0d_}RB=E=)C&0jv%dq#^g zE||Y)x|F{Gr*+S*vy-&Ajmz4s)+aC-}zU=BDi%*z@2;g8>;Ns zINZ%Dx4fL)*4kd$f1Mtm+kNTqKKZ(JFGJX?s^bo2{bp}lxGG^w z-g(J%<^2+K3)4;scDFY6S$NOc8~1$CrNDPNLWW5~Q459dEz_7Xaihf}PbTiClBhpX0JcW9xLahFR;@T)GimdVTJyg6`*u@tVuO{I;Ka zBu3Orvmr~sE7P2zcJHdLIks!8q+0q5)_u0FI1&4nzhKe2^|#q>vE23+zI46Ctk&OG z?zR5w<;Q=|wu`WE(R?m^ciF6xpNt1z6g|Wq6{cuWQB+)_Uq5!fL#!>2j~<`%d{T6x>%!J6>Vk&1+vH>UkH3DtZPj+? zBlF(85B!xRv4OYu_JOBKp6c-*er|mIm*Kd6=htn2Izv0&#BSZ&pOA5D*X#H0u@NzA z_6fe)#VP%#neW=We~HZ{dtUwdEoNU(tMW7O$eg)LPkM)5KhMu`bLsBGjWVVe&-SwM zg>O&Ud)tj)X)6@d>N_l-%DlK37Hpu^-}o-Rv~kV{^RClu z=1YoxtNqscI&X2(`xlqKUYR!M+y51hMVFSZIB~aaN575msRqe#>vc`VbLJ@o`zaf5GFfAA$9Ia( zTwR$X7w>XE}roDERBHxe32M?<*glJWo&q=%!Jk9RP z9bSuV%D;PN$4ksQHSy)PS2dUKIey!lnf~^|8{z+*KWo^QSI*h7rbu7^vuH~EOZ{7a zSg%wssFVL8eO8`dAA5o{LrIXHd1?6yCO{!jT@sX^U!nl2d_Ww}yp+@mg=hl>L-SZ5 zH#oB@703j#AoWp1P-+^G6Rr?#2&{_?K}zr^UW{^D^u$Kq0}3KX0`99%DCxMUA=&it zhT84}fi@?NHn=LU;L5u3Hl<&pqxDL_m*1O3tKSCy3Y;l3MU!O~R)2x2uEe5}iXxD+ Q49!eHwW+GBzZ)+X02`tP)c^nh literal 0 HcmV?d00001 diff --git a/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Program.cs b/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Program.cs new file mode 100644 index 00000000..9eab4598 --- /dev/null +++ b/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Program.cs @@ -0,0 +1,28 @@ +using Syncfusion.Pdf.Parsing; + +namespace Remove_specific_keys_from_the_existing_document_information { + internal class Program { + static void Main(string[] args) { + //Load an existing PDF document. + FileStream fileStream = new FileStream(Path.GetFullPath("../../../Input.pdf"), FileMode.Open, FileAccess.Read); + PdfLoadedDocument document = new PdfLoadedDocument(fileStream); + //Remove the document information properties. + document.DocumentInformation.Remove("Title"); + document.DocumentInformation.Remove("Author"); + document.DocumentInformation.Remove("Subject"); + document.DocumentInformation.Remove("Keywords"); + document.DocumentInformation.Remove("Creator"); + document.DocumentInformation.Remove("Producer"); + document.DocumentInformation.Remove("ModDate"); + document.DocumentInformation.Remove("CreationDate"); + + //Creating the stream object. + MemoryStream stream = new MemoryStream(); + //Save the document into stream. + document.Save(stream); + File.WriteAllBytes("Output.pdf", stream.ToArray()); + //Close the document. + document.Close(true); + } + } +} \ No newline at end of file diff --git a/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Remove-specific-keys-from-the-existing-document-information.csproj b/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Remove-specific-keys-from-the-existing-document-information.csproj new file mode 100644 index 00000000..646e3871 --- /dev/null +++ b/PDF Document/Remove-specific-keys-from-the-existing-document-information/.NET/Remove-specific-keys-from-the-existing-document-information/Remove-specific-keys-from-the-existing-document-information.csproj @@ -0,0 +1,15 @@ + + + + Exe + net7.0 + Remove_specific_keys_from_the_existing_document_information + enable + enable + + + + + + +