문제

(사용자 정의 크롤러의 경우) Office 문서의 내용을 읽을 수 있기를 원합니다.

읽을 수 있어야 하는 Office 버전은 2000년부터 2007년까지입니다.저는 주로 단어, 엑셀, 파워포인트 문서를 크롤링하고 싶습니다.

서식을 검색하고 싶지 않고 그 안에 있는 텍스트만 검색하고 싶습니다.

크롤러는 도움이 될 수 있고 C#에 있는 경우 lucene.NET을 기반으로 합니다.

PDF 구문 분석에 이미 iTextSharp를 사용했습니다.

도움이 되었습니까?

해결책

여기 c-charpcorner에 대한 좋은 작은 게시물 Word Primary Interop 어셈블리를 사용하여 Word 문서에서 텍스트를 가져오는 기본 코드를 제공하는 Krishnan LN의 글입니다.

기본적으로 Word 문서에서 "WholeStory" 속성을 가져와 클립보드에 붙여넣은 다음 텍스트 형식으로 변환하는 동안 클립보드에서 끌어옵니다.클립보드 단계는 아마도 서식을 제거하기 위해 수행된 것 같습니다.

PowerPoint의 경우 비슷한 작업을 수행하지만 슬라이드를 반복한 다음 각 슬라이드에 대해 모양을 반복하고 각 모양에서 "TextFrame.TextRange.Text" 속성을 가져와야 합니다.

Excel의 경우 Excel이 OleDb 데이터 원본이 될 수 있으므로 ADO.NET을 사용하는 것이 가장 쉽습니다.여기 Laurent Bugnion의 좋은 게시물 이 기술을 살펴보는 것입니다.

다른 팁

이미 Lucene.NET을 사용하고 있다면 이 작업을 수행하는 데 이미 사용 가능한 다양한 IFilter를 활용하는 것이 좋습니다.오픈소스 살펴보기 SeekA파일 프로젝트.IFilter를 사용하여 IFilter를 사용할 수 있는 모든 파일 형식에서 이 정보를 열고 추출하는 방법을 보여줍니다.Word, Excel, Powerpoint, PDF 및 대부분의 기타 일반적인 문서 유형에 대한 IFilter가 있습니다.

훌륭한 오픈 소스 프로젝트가 있습니다 POI, 유일한 단점 - Java용으로 작성되었습니다.그만큼 .net 포트 왠지 매우 베타입니다.

여기 는 Word 문서를 일반 텍스트로 변환하기 위한 다양한 도구의 좋은 목록입니다. 이를 사용하여 무엇이든 할 수 있습니다.

DtSearch(www.DtSearch.com)를 확인해 볼 수도 있습니다.기본적으로 검색 도구이기는 하지만 다양한 파일 유형에서 텍스트를 추출하는 데 탁월한 성능을 발휘하며 Oracle/Stellent OutsideIn 기술이나 Autonomy의 이에 상응하는 기술과 같은 다른 옵션보다 훨씬 저렴합니다.

저는 수년간 DtSearch를 사용해 왔으며 이러한 유형의 작업에 꼭 필요한 제품이라고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top