iTextSharp jbig2编码器

时间:2011-03-22 21:20:24

标签: c# image-processing bitmap itextsharp

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。

1 个答案:

答案 0 :(得分:2)

据我所知,编码JBig2的选项并不多,也没有原生免费的选项。

最后一个创建了一个CLI程序,您可能可以进行P / Invoke或最坏的脚本,所以我认为如果您不想付费,这是您的最佳选择。 JBIG2是否提供了比其他格式更大的压缩效果?