diff --git a/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET.sln b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET.sln new file mode 100644 index 00000000..e7c20a31 --- /dev/null +++ b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET.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}") = "Compress_secured_PDF_NET", "Compress_secured_PDF_NET\Compress_secured_PDF_NET.csproj", "{A7643DD4-589A-41FC-AFE0-4C6316ED1AB0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A7643DD4-589A-41FC-AFE0-4C6316ED1AB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A7643DD4-589A-41FC-AFE0-4C6316ED1AB0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A7643DD4-589A-41FC-AFE0-4C6316ED1AB0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A7643DD4-589A-41FC-AFE0-4C6316ED1AB0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {01627C7B-49BA-4C53-ACD4-9F9D2739263F} + EndGlobalSection +EndGlobal diff --git a/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Compress_secured_PDF_NET.csproj b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Compress_secured_PDF_NET.csproj new file mode 100644 index 00000000..44bf1eef --- /dev/null +++ b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Compress_secured_PDF_NET.csproj @@ -0,0 +1,14 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + diff --git a/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Data/SecurePDF.pdf b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Data/SecurePDF.pdf new file mode 100644 index 00000000..ddfcd7be Binary files /dev/null and b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Data/SecurePDF.pdf differ diff --git a/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Program.cs b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Program.cs new file mode 100644 index 00000000..2a5a94de --- /dev/null +++ b/Compression/Compress_secured_PDF_NET/.NET-Standard/Compress_secured_PDF_NET/Program.cs @@ -0,0 +1,30 @@ +using Syncfusion.Pdf.Parsing; +using Syncfusion.Pdf.Security; +using Syncfusion.Pdf; + +namespace Compress_secured_PDF_NET { + internal class Program { + static void Main(string[] args) { + //Load existing PDF document. + FileStream fileStream = new FileStream(Path.GetFullPath("../../../Data/SecurePDF.pdf"), FileMode.Open, FileAccess.Read); + PdfLoadedDocument document = new PdfLoadedDocument(fileStream, "syncfusion"); + + //Create a new compression option. + PdfCompressionOptions options = new PdfCompressionOptions(); + //Enable the compress image. + options.CompressImages = true; + //Set the image quality. + options.ImageQuality = 50; + + //Assign the compression option to the document + document.Compress(options); + //Create file stream. + using (FileStream outputFileStream = new FileStream("Output.pdf", FileMode.Create, FileAccess.ReadWrite)) { + //Save the PDF document to file stream. + document.Save(outputFileStream); + } + //Close the document. + document.Close(true); + } + } +} \ No newline at end of file diff --git a/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET.sln b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET.sln new file mode 100644 index 00000000..e3f13b0d --- /dev/null +++ b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET.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}") = "Merge_and_compress_PDF_NET", "Merge_and_compress_PDF_NET\Merge_and_compress_PDF_NET.csproj", "{57645AC9-37C6-4DF8-AD81-30EE1290FA49}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {57645AC9-37C6-4DF8-AD81-30EE1290FA49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {57645AC9-37C6-4DF8-AD81-30EE1290FA49}.Debug|Any CPU.Build.0 = Debug|Any CPU + {57645AC9-37C6-4DF8-AD81-30EE1290FA49}.Release|Any CPU.ActiveCfg = Release|Any CPU + {57645AC9-37C6-4DF8-AD81-30EE1290FA49}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {11312D7C-18D0-4A8D-996D-1044D027BE7F} + EndGlobalSection +EndGlobal diff --git a/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Data/imageDoc.pdf b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Data/imageDoc.pdf new file mode 100644 index 00000000..e9f7d23e Binary files /dev/null and b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Data/imageDoc.pdf differ diff --git a/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Merge_and_compress_PDF_NET.csproj b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Merge_and_compress_PDF_NET.csproj new file mode 100644 index 00000000..44bf1eef --- /dev/null +++ b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Merge_and_compress_PDF_NET.csproj @@ -0,0 +1,14 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + diff --git a/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Program.cs b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Program.cs new file mode 100644 index 00000000..3fb6ca12 --- /dev/null +++ b/Compression/Merge_and_compress_PDF_NET/.NET-Standard/Merge_and_compress_PDF_NET/Program.cs @@ -0,0 +1,47 @@ +using Syncfusion.Pdf.Parsing; +using Syncfusion.Pdf; + +namespace Merge_and_compress_PDF_NET { + internal class Program { + static void Main(string[] args) { + // Create a PDF document. + using (PdfDocument finalDocument = new PdfDocument()) { + + // Get the stream from an existing PDF documents. + using (FileStream firstStream = new FileStream(Path.GetFullPath("../../../Data/imageDoc.pdf"), FileMode.Open, FileAccess.Read)) + + using (FileStream secondStream = new FileStream(Path.GetFullPath("../../../Data/imageDoc.pdf"), FileMode.Open, FileAccess.Read)) { + + // Create a PDF stream for merging. + Stream[] streams = { firstStream, secondStream }; + + // Merge PDF documents. + PdfDocumentBase.Merge(finalDocument, streams); + + // Save the document into a stream. + MemoryStream outputStream = new MemoryStream(); + finalDocument.Save(outputStream); + + // Create a new PdfLoadedDocument object from the file stream. + using (PdfLoadedDocument loadedDocument = new PdfLoadedDocument(outputStream)) { + + // Create a new PdfCompressionOptions object. + PdfCompressionOptions options = new PdfCompressionOptions(); + + // Enable the compress image and set image quality. + options.CompressImages = true; + options.ImageQuality = 50; + + // Compress the PDF document. + loadedDocument.Compress(options); + + // Save the document into memory stream. + using (FileStream memoryStream = new FileStream("Output.pdf", FileMode.Create, FileAccess.ReadWrite)) { + loadedDocument.Save(memoryStream); + } + } + } + } + } + } +} \ No newline at end of file