小编use*_*134的帖子

具有透明度的iTextSharp图像提取

我正在使用iTextSharp并尝试从PDF中提取透明图像.当我提取图像时,透明度变为纯黑色并丢失.我发现了多个图像提取示例,但所有这些示例似乎都有相同的问题.我正在使用的代码如下

另一个例子来自itextpdf.com/examples/iia.php?id=284.此示例包括顶部"结果"部分中的图像.如果单击Img7.png,您将在图像中看到黑色边框,但是在页面底部有一个指向原始图像info.png的链接,该链接显示了它应该看起来的透明度.这是我遇到的确切问题.任何帮助或想法将不胜感激

public void ExtractImage(string pdfFile)
        {
            const int pageNumber = 1; //Page number to extract the image from
            PdfReader pdf = new PdfReader(pdfFile);
            PdfDictionary pg = pdf.GetPageN(pageNumber);
            PdfDictionary res = (PdfDictionary)PdfReader.GetPdfObject(pg.Get(PdfName.RESOURCES));
            PdfDictionary xobj = (PdfDictionary)PdfReader.GetPdfObject(res.Get(PdfName.XOBJECT));
            foreach (PdfName name in xobj.Keys)
            {
                PdfObject obj = xobj.Get(name);
                if (obj.IsIndirect())
                {
                    PdfDictionary tg = (PdfDictionary)PdfReader.GetPdfObject(obj);
                    string width = tg.Get(PdfName.WIDTH).ToString();
                    string height = tg.Get(PdfName.HEIGHT).ToString();
                    ImageRenderInfo imgRI =
                            ImageRenderInfo.CreateForXObject(new Matrix(float.Parse(width), float.Parse(height)),
                                                             (PRIndirectReference)obj, tg);

                    var fileType= imgRI.GetImage().GetFileType();
                    RenderImage(imgRI, imgPath + +imgRI.GetRef().Number …
Run Code Online (Sandbox Code Playgroud)

pdf itext itextsharp

2
推荐指数
1
解决办法
3243
查看次数

标签 统计

itext ×1

itextsharp ×1

pdf ×1