没用过,帮顶
我们需要PDFBox的Jar包,所以我们先在百度搜索一下“PDFBox”。点击“Apache PDFBox | A Java PDF Library”这个链接。
package com.pdfbox.util.test;
import org.apache.pdfbox.exceptions.InvalidPasswordException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.util.PDFTextStripperByArea;
import Java.awt.Rectangle;
import java.util.List;
public class ExtractTextByArea
{
private ExtractTextByArea()
{
}
public static void main( String[] args ) throws Exception
{
String file = "H:\123.pdf";
PDDocument document = null;
try
{
document = PDDocument.load( file);
if( document.isEncrypted() )
{
try
{
document.decrypt( "" );
}
catch( InvalidPasswordException e )
{
System.err.println( "Error: Document is encrypted with a password." );
System.exit( 1 );
}
}
PDFTextStripperByArea stripper = new PDFTextStripperByArea();
stripper.setSortByPosition( true );
Rectangle rect = new Rectangle( 10, 280, 275, 60 );
stripper.addRegion( "class1", rect );
List allPages = document.getDocumentCatalog().getAllPages();
PDPage firstPage = (PDPage)allPages.get( 0 );
stripper.extractRegions( firstPage );
System.out.println( "Text in the area:" + rect );
System.out.println( stripper.getTextForRegion( "class1" ) );
}
finally
{
if( document != null )
{
document.close();
}
}
}
}
PDFBox.jar最好用1.7及以上版本的,它包含了fontbox和jempbox等辅助包。希望能帮助一些人解决问题。
Rectangle rect = new Rectangle( 10, 280, 275, 60 );
我要获取动态的表格。即表格出现的位置不是固定的。
一样遇到了这个需求,不知道楼主解决了没有