java培训
搜索分类

java有的图片不显示什么原因?java如何导入图片?

赋能网 2023-05-09 75

我们在进行java开发的时候,有时候会将图片到导入到java中,但是有些朋友在操作的时候发现java图片不显示,这是什么原因呢?下面来我们就来给大家讲解一下java有的图片不显示的原因。

原因是在加载页面时一些img标签或者css中的background-image请求了一些含有中文的图片。于是这个页面会自动向服务端发送请求获取资源,但是这个过程不会体现到地址栏的,是在后台操作的。

java如何导入图片?

Jar文件导入方法(参考):

方法1:下载jar文件包。下载后解压文件,并将lib文件夹下的Spire.Doc.jar文件导入到java程序。导入效果参考如下:

方法2:可通过maven导入。参考导入方法。

测试文档如下:

Java代码示例(供参考)

【示例1】提取Word中的文本

import com.spire.doc.*;
import java.io.FileWriter;
import java.io.IOException;
public class ExtractText
{
    public static void main(String[] args) throws IOException
    {
        //加载测试文档
        document doc = new document();
        doc.loadFromFile("test.docx");
        //获取文本保存为String
        String text = doc.getText();
        //将String写入Txt
        writeStringToTxt(text, "提取文本.txt");
    }
    public static void writeStringToTxt(String content, String txtFileName) throws IOException
    {
        FileWriter fWriter = new FileWriter(txtFileName, true);
        try
        {
            fWriter.write(content);
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            try
            {
                fWriter.flush();
                fWriter.close();
            }
            catch (IOException ex)
            {
                ex.printStackTrace();
            }
        }
    }
}

文本提取结果:

【示例2】提取Word中的图片

import com.spire.doc.document;
import com.spire.doc.documents.documentObjectType;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.interfaces.ICompositeObject;
import com.spire.doc.interfaces.IdocumentObject;
import javax.imageio.ImageIO;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.linkedList;
import java.util.List;
import java.util.Queue;
public class ExtractImg
{
    public static void main(String[] args) throws IOException
    {
        //加载Word文档
        document document = new document();
        document.loadFromFile("test.docx");
        //创建Queue对象
        Queue nodes = new linkedList();
        nodes.add(document);
        //创建List对象
        List images = new ArrayList();
        //遍历文档中的子对象
        while (nodes.size() > 0)
        {
            ICompositeObject node = (ICompositeObject) nodes.poll();
            for (int i = 0; i < node.getChildObjects()
                .getCount(); i++)
            {
                IdocumentObject child = node.getChildObjects()
                    .get(i);
                if (child instanceof ICompositeObject)
                {
                    nodes.add((ICompositeObject) child);
                    //获取图片并添加到List
                    if (child.getdocumentObjectType() == documentObjectType.Picture)
                    {
                        DocPicture picture = (DocPicture) child;
                        images.add(picture.getImage());
                    }
                }
            }
        }
        //将图片保存为PNG格式文件
        for (int i = 0; i < images.size(); i++)
        {
            File file = new File(String.format("图片-%d.png", i));
            ImageIO.write((RenderedImage) images.get(i), "PNG", file);
        }
    }
}

图片提取结果:

按照以上的方法我们就可以将图片导入到java中了,如果在操作过程中发现图片不显示,那么我们就要排查原因,找到原因就好解决了!最后大家如果想要了解更多初识java知识,敬请关注赋能网。


发表评论
0评