導航:首頁 > 文字圖片 > java提取圖片文字內容

java提取圖片文字內容

發布時間:2025-08-31 04:57:06

❶ java 中用poi讀取word和用docx4j讀取word

不知道你是具體讀取Word裡面的什麼元素,下面以讀取文字和圖片為例吧,兩個代碼示例,你參考看看:

  1. 讀取文本

import com.spire.doc.Document;

import java.io.FileWriter;

import java.io.IOException;

public class ExtractText {

public static void main(String[] args) throws IOException {

//載入Word文檔
Document document = new Document();
document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");

//獲取文檔中的文本保存為String
String text=document.getText();

//將String寫入Txt文件
writeStringToTxt(text,"ExtractedText.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. 讀取圖片


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.BufferedImage;

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 ExtractImages {

public static void main(String[] args) throws IOException {

//載入Word文檔

Document document = new Document();

document.loadFromFile("C:\Users\Administrator\Desktop\sample.docx");

//創建Queue對象

Queue nodes = new LinkedList();

nodes.add(document);

//創建List對象

List images = new ArrayList();

//遍歷文檔中的子對象

while (nodes.size() > 0) {

ICompositeObject node = 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("output/圖片-%d.png", i));

ImageIO.write(images.get(i), "PNG", file);

}

}

}

注意這里使用的jar包是spire.doc.jar,需要在java程序中先導入jar文件。

❷ java如何識別圖片中的文字內容

Java識別圖片中的文字內容,需藉助Tesseract OCR引擎。Tesseract OCR是光學字元識別(Optical Character Recognition)工具,專門用於解析圖片中的文字,轉為文本。

要使用Tesseract OCR,首先需要在Java環境中安裝並配置它。通常,這包括在項目的構建工具中添加依賴,如在Maven或Gradle中配置Tesseract OCR依賴。

在Java代碼中使用Tesseract OCR,需要創建一個`TessBaseAPI`實例,並設置圖片文件路徑作為輸入。調用API的`setVariable()`方法,可以指定語言及其他參數,優化識別效果。

接下來,通過`TessBaseAPI`實例調用`recognize()`方法,傳入圖片路徑作為參數。此方法將解析圖片中的文字,並返回識別結果。

為確保識別准確,需要對輸入的圖片進行預處理,包括圖像大小調整、灰度轉換、二值化、雜訊去除等。在Java中,可以使用OpenCV等庫進行這些操作。

實現Java識別圖片文字功能,需結合Tesseract OCR和圖片處理技術。正確配置和優化OCR參數,以及合理的圖片預處理步驟,可以提高識別的准確率。

❸ 用java怎麼獲得一張圖片上的一個文字的坐標點 求高手解答

//提示:坐標依次列印在命令符窗口
//提示:坐標依次列印在命令符窗口
//提示:坐標依次列印在命令符窗口
//不就是監聽滑鼠事件嗎?
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.border.Border;

/**
*我想建立個界面,可以載入本機中圖片。
*載入後可以通過滑鼠點擊獲得圖片上任意點坐標。
*提問者:sunny929929-試用期一級
*/
{
privateJLabeltipLabel;

/**
*main()
*/
publicstaticvoidmain(String[]args){
MyPictureframe=newMyPicture();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

/**
*constructor
*/
publicMyPicture(){
setSize(800,600);//根據要求調整大小
setLocation(100,100);
setTitle("獲得圖片上任意點坐標");
setResizable(false);

Containercon=getContentPane();

ImageIconbgIcon=newImageIcon("bgpic.jpg");//注意圖片的路徑
ImagePanelbackpicPanel=newImagePanel(bgIcon);
backpicPanel.addMouseListener(this);
con.add(backpicPanel,BorderLayout.CENTER);

tipLabel=newJLabel("--------------------提示:坐標依次列印在屏幕上!--------------------");
con.add(tipLabel,BorderLayout.SOUTH);
}

/**
*
*/
publicvoidmousePressed(MouseEvente){
intx=e.getX();
inty=e.getY();
Stringmessage="("+x+","+y+")";
tipLabel.setText(message);
System.out.println(message);

}

publicvoidmouseReleased(MouseEvente){

}

publicvoidmouseEntered(MouseEvente){

}

publicvoidmouseExited(MouseEvente){

}

publicvoidmouseClicked(MouseEvente){

}

}

/**
*類ImagePanel,用於添加背景圖片
*/
classImagePanelextendsJPanel{
privateImageimg;
publicImagePanel(ImageIconimageIcon){
img=imageIcon.getImage();
}

publicvoidpaintComponent(Graphicsg){
super.paintComponent(g);
g.drawImage(img,0,0,this);
}

}

閱讀全文

與java提取圖片文字內容相關的資料

熱點內容
心痛女孩子的動態圖片 瀏覽:132
女孩白色內內圖片 瀏覽:158
入冬早上好文字圖片 瀏覽:589
帥氣男生換裝圖片 瀏覽:183
短發面條卷發型圖片 瀏覽:971
可愛小孩子圖片賣萌 瀏覽:606
花的圖畫手繪簡單圖片 瀏覽:737
動漫公主服裝圖片大全圖片大全 瀏覽:138
動漫繪畫作品圖片 瀏覽:100
小女孩幾幾的現狀圖片 瀏覽:235
櫻花圖片動漫圖 瀏覽:719
成熟潮男搭配衣服圖片 瀏覽:140
動漫人物圖片大全黑白 瀏覽:1061
最多動漫圖片 瀏覽:816
小鳥衣服圖片大全可愛 瀏覽:486
手擋太陽的圖片女生 瀏覽:528
男女生圖片背影圖片 瀏覽:1057
想太多心會累文字圖片 瀏覽:405
簡單動漫圖片教程視頻 瀏覽:592
女孩發育圖片視頻 瀏覽:595