string imgfile = @"C:\users\me\desktop\test.jpg";
Bitmap bmp = new Bitmap(imgfile);
Bitmap bw = ConvertTo1Bpp(bmp); //make b+w
Document doc =
new Document(new iTextSharp.text.Rectangle(bmp.Width, bmp.Height));
PdfWriter.GetInstance(doc,
new System.IO.FileStream(
@"C:\users\me\desktop\test.pdf",
System.IO.FileMode.Create,
System.IO.FileAccess.ReadWrite));
iTextSharp.text.ImgJBIG2 i =
((iTextSharp.text.ImgJBIG2)iTextSharp.text.ImgJBIG2.GetInstance(
bmp, System.Drawing.Imaging.ImageFormat.Bmp));
doc.Open();
doc.Add(i);
doc.Close();
我无法通过iTextSharp找到任何好的文档。我想要做的是获取一个Jpeg文件并将其转换为嵌入为黑白JBig2图像的pdf。我得到的错误是“iTextSharp.text.ImageRaw”和“iTextSharp.text.ImageJBig2”之间的InvalidCastException ...有替代我上面的内容吗?
修改
ImgJBig2只代表已经在JBig2中编码的图像我相信现在。我正在寻找的东西将采用Bitmap并将其编码为BW JBig2位图,我可以将其放入Pdf。
答案 0 :(得分:2)
据我所知,编码JBig2的选项并不多,也没有原生免费的选项。
最后一个创建了一个CLI程序,您可能可以进行P / Invoke或最坏的脚本,所以我认为如果您不想付费,这是您的最佳选择。 JBIG2是否提供了比其他格式更大的压缩效果?