In this tutorial, we will see how to convert TIFF images to PDF documents using GdPicture.NET. We take advantage of a lossless JBIG2 compression for bitonal images.
Copy Code | |
---|---|
'We assume that GdPicture has been correctly installed and unlocked. Using oConverter As GdPictureDocumentConverter = New GdPictureDocumentConverter() Dim status As GdPictureStatus = oConverter.LoadFromFile("input.tif", GdPicture14.DocumentFormat.DocumentFormatTIFF) If status = GdPictureStatus.OK Then MessageBox.Show("The file has been loaded successfully.", "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Information) 'Setting the required compression parameter. oConverter.PdfBitonalImageCompression = PdfCompression.PdfCompressionJBIG2 status = oConverter.SaveAsPDF("output.pdf", PdfConformance.PDF) If status = GdPictureStatus.OK Then MessageBox.Show("The file has been saved successfully.", "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Information) Else MessageBox.Show("The file has failed to save. Status: " + status.ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Error) End If Else MessageBox.Show("The file has failed to load. Status: " + status.ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Using |
Copy Code | |
---|---|
//We assume that GdPicture has been correctly installed and unlocked. using (GdPictureDocumentConverter oConverter = new GdPictureDocumentConverter()) { GdPictureStatus status = oConverter.LoadFromFile("input.tif", GdPicture14.DocumentFormat.DocumentFormatTIFF); if (status == GdPictureStatus.OK) { MessageBox.Show("The file has been loaded successfully.", "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Information); //Setting the required compression parameter. oConverter.PdfBitonalImageCompression = PdfCompression.PdfCompressionJBIG2; status = oConverter.SaveAsPDF("output.pdf", PdfConformance.PDF); if (status == GdPictureStatus.OK) { MessageBox.Show("The file has been saved successfully.", "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("The file has failed to save. Status: " + status.ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("The file has failed to load. Status: " + status.ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Error); } } |
Copy Code | |
---|---|
'We assume that GdPicture has been correctly installed and unlocked. Dim oGdPictureImaging As New GdPictureImaging() 'Setting the option for subsequently opened multi-tiff images with read-only capabilities. oGdPictureImaging.TiffOpenMultiPageForWrite(False) 'Loading an image from a file. Dim imageId As Integer = oGdPictureImaging.CreateGdPictureImageFromFile("Image.tif") If oGdPictureImaging.GetStat() = GdPictureStatus.OK Then Dim status As GdPictureStatus = GdPictureStatus.OK Dim oGdPicturePDF As New GdPicturePDF() status = oGdPicturePDF.NewPDF() If status = GdPictureStatus.OK Then oGdPicturePDF.EnableCompression(True) 'Enabling the JBIG2 compression. oGdPicturePDF.SetCompressionForBitonalImage(PdfCompression.PdfCompressionJBIG2) If oGdPictureImaging.TiffIsMultiPage(imageId) = False Then 'One-page tiff image. 'Adding image as a resource and drawing it onto a new page. oGdPicturePDF.AddImageFromGdPictureImage(imageId, False, True) If oGdPicturePDF.GetStat() = GdPictureStatus.OK Then 'Saving the new PDF to a file. status = oGdPicturePDF.SaveToFile("output.pdf") Else status = oGdPicturePDF.GetStat() End If Else 'Multi-page tiff image. Dim NumberOfPages As Integer = oGdPictureImaging.TiffGetPageCount(imageId) Dim savePDF As Boolean = True 'Loop through pages. For i As Integer = 1 To NumberOfPages 'Selecting each page in the tiff file. oGdPictureImaging.TiffSelectPage(imageId, i) 'Adding the selected tiff page as a resource to a PDF document and drawing it on a new page. oGdPicturePDF.AddImageFromGdPictureImage(imageId, False, True) If oGdPicturePDF.GetStat() <> GdPictureStatus.OK Then status = oGdPicturePDF.GetStat() 'Raising a flag to cancel PDF saving. savePDF = False Exit For End If Next 'Checking whether any error occurred in adding any image to the PDF document. If savePDF Then status = oGdPicturePDF.SaveToFile("output.pdf") End If End If oGdPicturePDF.CloseDocument() End If MessageBox.Show("Finished! Status: " + status.ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Information) 'Clearing resources. oGdPictureImaging.ReleaseGdPictureImage(imageId) oGdPicturePDF.Dispose() Else MessageBox.Show("The image file can't be loaded. Status: " + oGdPictureImaging.GetStat().ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Error) End If oGdPictureImaging.Dispose() |
Copy Code | |
---|---|
//We assume that GdPicture has been correctly installed and unlocked. GdPictureImaging oGdPictureImaging = new GdPictureImaging(); //Setting the option for subsequently opened multi-tiff images with read-only capabilities. oGdPictureImaging.TiffOpenMultiPageForWrite(false); //Loading an image from a file. int imageId = oGdPictureImaging.CreateGdPictureImageFromFile("Image.tif"); if (oGdPictureImaging.GetStat() == GdPictureStatus.OK) { GdPictureStatus status = GdPictureStatus.OK; GdPicturePDF oGdPicturePDF = new GdPicturePDF(); status = oGdPicturePDF.NewPDF(); if (status == GdPictureStatus.OK) { oGdPicturePDF.EnableCompression(true); oGdPicturePDF.SetCompressionForBitonalImage(PdfCompression.PdfCompressionJBIG2); //Enabling the JBIG2 compression. if (oGdPictureImaging.TiffIsMultiPage(imageId) == false) //One-page tiff image. { //Adding an image as a resource and drawing it onto a new page. oGdPicturePDF.AddImageFromGdPictureImage(imageId, false, true); if (oGdPicturePDF.GetStat() == GdPictureStatus.OK) { //Saving the new PDF to a file. status = oGdPicturePDF.SaveToFile("output.pdf"); } else { status = oGdPicturePDF.GetStat(); } } else //Multi-page tiff image. { int NumberOfPages = oGdPictureImaging.TiffGetPageCount(imageId); bool savePDF = true; //Loop through pages. for (int i = 1; i <= NumberOfPages; i++) { //Selecting each page in the tiff file. oGdPictureImaging.TiffSelectPage(imageId, i); //Adding the selected tiff page as a resource to a PDF document and drawing it on a new page. oGdPicturePDF.AddImageFromGdPictureImage(imageId, false, true); if (oGdPicturePDF.GetStat() != GdPictureStatus.OK) { status = oGdPicturePDF.GetStat(); //Raising a flag to cancel PDF saving. savePDF = false; break; } } //Checking whether any error occurred in adding any image to the PDF document. if (savePDF) { status = oGdPicturePDF.SaveToFile("output.pdf"); } } oGdPicturePDF.CloseDocument(); } MessageBox.Show("Finished! Status: " + status.ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Information); //Clearing resources. oGdPictureImaging.ReleaseGdPictureImage(imageId); oGdPicturePDF.Dispose(); } else { MessageBox.Show("The image file can't be loaded. Status: " + oGdPictureImaging.GetStat().ToString(), "JBIG2 Compression Example", MessageBoxButtons.OK, MessageBoxIcon.Error); } oGdPictureImaging.Dispose(); |