Word Doc에서 각 텍스트 페이지를 별도로 가져 오는 방법은 무엇입니까 (.NET 사용)?

StackOverflow https://stackoverflow.com/questions/290287

문제

키워드가 발생하는 단어 문서의 페이지를 결정해야합니다. 문서의 텍스트를 얻을 수있는 도구가 있지만 텍스트가 어떤 페이지에서 발생하는지 알려주는 것은 없습니다. 누구든지 나에게 좋은 출발점이 있습니까? .NET를 사용하고 있습니다

감사!

편집 : 추가 제약 조건 : 인터 로프 물건을 사용할 수 없습니다.

EDIT2 :이 작업을 수행 할 수있는 안정적인 라이브러리를 알고 있다면 도움이 될 것입니다. 나는 예식을 사용하지만, 내가 아는 한 아무것도 없다.

도움이 되었습니까?

해결책

이것이 내가 텍스트를 꺼내는 방법입니다. 선택 범위를 페이지로 설정할 수 있다고 생각하면 해당 텍스트를 테스트 할 수 있으며 필요한 것보다 약간 뒤로 거꾸로 될 수 있지만 시작할 장소가 될 수 있습니다.

Microsoft.Office.Interop.Word.Application wordApplication = new Microsoft.Office.Interop.Word.Application();
object missing = Type.Missing;
object fileName = @"c:\file.doc";
object objFalse = false;

wordApplication.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
Microsoft.Office.Interop.Word.Document doc = wordApplication.Documents.Open(ref fileName, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,ref objFalse, ref missing, ref missing, ref missing, ref missing);

//I belevie you can define a SelectionRange and insert here
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();

IDataObject data = Clipboard.GetDataObject();
string text = data.GetData(DataFormats.Text).ToString();

doc.Close(ref missing, ref missing, ref missing);
doc = null;

wordApplication.Quit(ref missing, ref missing, ref missing);
wordApplication = null;

다른 팁

페이지를 어떻게 정의하고 있습니까?

섹션/하드 페이지 만 계산하면 복잡하지만 가능합니다. 소프트 페이지를 계산하려면 작업이 매우 어려워지고 다소 의미가 없습니다. 소프트 페이지가 끊어진 곳이 런타임에 동적으로 생성되며 파일 자체에 저장되지 않음을 고려하십시오. 활성 프린터 드라이버 (예 : 다른 컴퓨터에서 동일한 파일에 대해 변경할 수 있음), 글꼴, 커닝, 라인 간격, 여백 등 등을 포함한 수많은 요인에 따라 다릅니다.

바로이 작업을 수행하는 한 가지 엉뚱한 방법은 Word 파일을 PDF로 변환 한 다음 각 페이지에서 텍스트를 잡는 것입니다.

나는 Aspose 내부 또는 변환 할 때 소프트 페이지를 정의하는 방법에 대해 아무것도 모르지만 지금까지 가장 좋은 것입니다.

Aspose.words를 사용해 주셔서 감사합니다.

공개 API에서는 현재 "Flow-Document"정보 (예 : 단락, 표, 목록 등) 만 가지고 있습니다. 내부적으로, 우리는 페이지, 텍스트 블록, 텍스트 줄 등과 같은 클래스가있는 페이지 레이아웃 모델을 빌드합니다. 문서 모델과 레이아웃 모델 사이에는 내부 링크가 있으며 어느 페이지가 어디에서 끝나는 페이지를 찾을 수 있습니다. 공개 API를 통해이 정보를 사용할 수 있도록하는 것은 우선 순위 목록에서 (잘) 높습니다.

Aspose.words 지원 포럼에 요청을 기록 했습니까? 우리는이 정보를 사용하여 투표 시스템을 유지하고 더 많은 표를 얻는 기능에서 작동합니다.

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