2013-07-10 3 views
0

그것의 ID- ABCPDF을 감안할 때 :편집 PDF의 텍스트 개체 내가 성공적으로이 방법으로 PDF 파일에 텍스트를 추가하고 개체의 ID를 저장할 수 있습니다

int ID = theDoc.AddText(ItemText); 

을 그러나, 나는에서 PDF에있는 항목의 텍스트를 업데이트하려고하면 다음과 같은 방법으로 작동하지 않습니다. 함수가 PDF 객체의 ID, 유형 및 데이터를 얻어

http://www.websupergoo.com/helppdfnet/source/5-abcpdf/doc/1-methods/setinfo.htm가 삽입 될 : 여기

theDoc.SetInfo(ID, ":Text", ItemText); 

는 SetInfo 기능에 대한 설명서이다. 내 오류가 두 번째 매개 변수 (유형)에 있다고 생각하지만 형식을 더 잘 설명 할 수있는 방법을 모르겠습니다.

아이디어 나 의견이 굉장합니다.

답변

0

AddText를 사용하여 텍스트를 추가하는 경우 ID가 반환됩니다. Doc.Delete를 ID에 대한 텍스트 호출을 변경하고 새 텍스트를 추가하십시오.

기존 PDF 문서의 텍스트를 추출 할 때는 TextOperation 클래스를 사용해야합니다. 이런 식으로 뭔가 :

TextOperation op = new TextOperation(theDoc); 
op.PageContents.AddPages(); 
string text = op.GetText(); 

반환되는 텍스트가 선택되어있는 페이지에있는 텍스트이다 - 문서의 모든 페이지,이 경우.

그런 다음 string.Substring과 같은 종류의 작업을 사용하여 텍스트의 비트를 선택할 수 있습니다. 그래서 당신의 텍스트가 "Hello World!"라면 다음과 같은 것을 사용하여 Hello 비트를 선택할 수 있습니다.

IList<TextFragment> frags = op.Select(0, 5); 

TextFragments 목록은 텍스트가 PDF에 저장되는 방식을 나타냅니다. 따라서 각 조각을 가져 와서 콘텐츠 스트림의 어디에 있는지 찾아 원하는대로 조작 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 대체 텍스트가 동일한 텍스트 스타일 (글꼴 및 크기)을 사용하고 직사각형을 포함하도록 어떻게 할 수 있는지 궁금합니다. 객체 ID로이 정보를 얻을 수있는 방법이 있습니까? 그 정보를 얻고 텍스트를 삭제 한 다음 이전 객체의 스타일과 같은 영역에 새 텍스트를 추가하는 것이 가능합니까? 추가 된 텍스트를 편집 할 수 있고 동일한 직사각형에 여전히 포함되어 있다는 점을 제외하고는 http://www.abcpdfeditor.com/에서 본 예제를 사용한다고 상상해보십시오. – user1170679