PDF 주석의 내용을 문자열로 가져 와서 그 정보를 검색 목적으로 데이터베이스에 저장할 수 있도록했습니다.iText를 사용하여 PDF 주석 읽기
누구든지 iText/iTextSharp를 사용하여이를 수행하는 방법을 알고 있습니까?
PDF 주석의 내용을 문자열로 가져 와서 그 정보를 검색 목적으로 데이터베이스에 저장할 수 있도록했습니다.iText를 사용하여 PDF 주석 읽기
누구든지 iText/iTextSharp를 사용하여이를 수행하는 방법을 알고 있습니까?
네,하지만 세부 사항은 실제로 어떤 종류의 주석 이냐에 달려 있습니다. 일반적으로
: 자세한 내용은
PdfDictionary pageDict = myPdfReader.getPageN(firstPageIsOne);
PdfArray annotArray = pageDict.getAsArray(PdfName.ANNOTS);
for (int i = 0; i < annotArray.size(); ++i) {
PdfDictionary curAnnot = annotArray.getAsDict(i);
int someType = myCodeToGetAnAnnotsType(curAnnot);
if (someType == THIS_TYPE) {
writeThisType(curAnnot);
} else if (someType == THAT_TYPE) {
writeThatType(curAnnot);
}
}
, 당신은 PDF Specification을 검사해야합니다, 특히 주석 설명 : "장 12.5.6 주석 유형".
관심있는 유형을 알려 주시면 도움이 될 수 있습니다. 내가했던 것처럼 구글을 통해이 문제를 발견 한 사람에게 나중에 참조 할 수 있도록
마크 스티커 메모로 추가 된/텍스트 주석 목록을 가져오고 싶습니다./Annot Dictionary가 반환되었지만 확실하지 않은 방법 : 텍스트 주석인 경우 B 참조 : 추출 방법 –
@Mark Storer, myCodeToGetAnAnnotsType에서 어떤 함수가 프로세스인지 알 수 있습니까? –
...
스티커 메모 주석의 이름과 내용을 찾을 수있다 싶은 경우 수있는 일이 (마크의 대답에 부분적으로 기초)
PdfReader reader = new PdfReader(somePDF);
PdfDictionary pageDict = reader.GetPageN(1);
PdfArray annotArray = pageDict.GetAsArray(PdfName.ANNOTS);
for (int i = 0; i < annotArray.Size; ++i)
{
PdfDictionary curAnnot = annotArray.GetAsDict(i);
PdfString name = curAnnot.GetAsString(PdfName.T);
PdfString contents = curAnnot.GetAsString(PdfName.CONTENTS);
if (!string.IsNullOrWhiteSpace(name?.ToString()))
{ Console.WriteLine(name); }
if (!string.IsNullOrWhiteSpace(contents?.ToString()))
{ Console.WriteLine(contents); }
}
은 또한 텍스트 편집기에서 PDF를 열고/주석 창을 찾아서 신속하게 주석 객체를 찾을 수 있습니다 당신이 찾고 있습니다 어떤 것들을 식별하는 데 도움합니다.
어떤 종류의 주석을 텍스트에서 가져 오려고합니까? –