PDF 문서의 특정 텍스트를 바꾸려고합니다. 현재 itextSharp
라이브러리를 사용하여 PDF 문서를 재생하고 있습니다.itextSharp를 사용하여 pdf 문서의 텍스트를 바꿉니다.
pdfdocument
에서 바이트를 추출한 다음 해당 바이트를 바꾸고 다시 바이트로 문서를 쓰지만 작동하지 않습니다. 아래 예제에서 나는 문자열 1234를 5678로 대체하려고 시도하고있다.
이것을 수행하는 방법에 대한 조언은 도움이 될 것이다.
PdfReader reader = new PdfReader(opf.FileNames[i]);
byte[] pdfbytes = reader.GetPageContent(1);
PdfString oldstring = new PdfString("1234");
PdfString newstring = new PdfString("5678");
byte[] byte1022 = oldstring.GetOriginalBytes();
byte[] byte1067 = newstring.GetOriginalBytes();
int position = 0;
for (int j = 0; j <pdfbytes.Length ; j++)
{
if (pdfbytes[j] == byte1022[0])
{
if (pdfbytes[j+1] == byte1022[1])
{
if (pdfbytes[j+2] == byte1022[2])
{
if (pdfbytes[j+3] == byte1022[3])
{
position = j;
break;
}
}
}
}
}
pdfbytes[position] = byte1067[0];
pdfbytes[position + 1] = byte1067[1];
pdfbytes[position + 2] = byte1067[2];
pdfbytes[position + 3] = byte1067[3];
File.WriteAllBytes(opf.FileNames[i].Replace(".pdf","j.pdf"), pdfbytes);