pdf 해석, 내용 얻기

1835 단어
관련된 주요 패키지: PDFTExtStream-2.2.1.jar(안에 있는 FileputStream 대상을 사용하여 pdf의stream과Region OutputTarget 대상을 pdf 안의 특정한 구역의 내용을 획득)
inputFilePath는 파일 경로 + 파일 이름입니다.
File file = new File(this.inputFilePath);
InputStream is  = new FileInputStream(file);
      stream = new PDFTextStream(is, this.inputFilePath); 
    StringBuffer sb = new StringBuffer();     int w = 680;     int h = 1600;     for (int i = 0; i < this.stream.getPageCnt(); i++) {       try {         if (i > 0) {           w = 580;         }         RegionOutputTarget tgt1 = new RegionOutputTarget();         tgt1.addRegion(1, 1, w, h, "all");         Page p1 = this.stream.getPage(i);         p1.pipe(tgt1);         sb.append(tgt1.getRegionText("all"));
allRows=allTxt로.split("");내용의 줄마다 수조의 원소로 만들고
문자열 키의 줄 위치를 지정해야 합니다.
allRows[m].toUpperCase().contains(key.toUpperCase());
문자열 키의 열 위치를 지정해야 합니다.
allRows[row].toUpperCase().indexOf(key.tuUpperCase());
어떤 위치의 면적을 얻다
getAreaValue(int startRow, int endRow, int beginPos,int endPos, String allTxt)
getAreaValue의 처리 방향:
for로 시작 줄부터 끝 줄까지 각각 가져오기
for (int i = startRow; i <= endRow && i < allRows.length;++i) 
모든 줄에서 시작 열부터 끝 열까지의 문자열을 캡처합니다
allRows[i].substring(beginPos, tag_end);
문제 발생:
1. 중국어 문자를 어떻게 제거하는가
	public static String pureAscii(String strTem) {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < strTem.length(); i++) {
			String str = strTem.substring(i, i + 1);
			boolean ascii = true;
			for (int j = 0; j < str.length(); j++) {
				char ch = str.charAt(j);
				if (ch >= 127 || ch < 0)
					ascii = false;
			}
			if (ascii)
				sb.append(strTem.substring(i, i + 1));
		}
		strTem = sb.toString();
		return strTem;
	}

좋은 웹페이지 즐겨찾기