2017-10-26 1 views
0

PDF 파일이 있는데이 파일을 iTextSharp를 사용하여 입력하려고합니다. iTextsharp를 사용하여 pdf에 줄을 추가하면 오류가 표시되지 않습니다.

string Oldfile = @"C:\ThisTest.pdf"; 
    string NewFile = @"C:\NewOne.pdf"; 
    PdfReader reader = new PdfReader(Oldfile); 
    iTextSharp.text.Rectangle Size = reader.GetPageSizeWithRotation(1); 
    Document document = new Document(Size); 
    FileStream fs = new FileStream(NewFile, FileMode.Create, FileAccess.Write); 
    PdfWriter weiter = PdfWriter.GetInstance(document, fs); 
    document.Open(); 
    PdfContentByte cb = weiter.DirectContent; 
    BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED); 
    cb.SetColorFill(BaseColor.DARK_GRAY); 
    cb.SetFontAndSize(bf, 8); 
    cb.BeginText(); 
    string text = "Haseeb Ahmad"; 
    cb.ShowTextAligned(1, text, 520, 640, 0); 
    cb.EndText(); 
    PdfImportedPage page = weiter.GetImportedPage(reader, 1); 
    cb.AddTemplate(page, 0, 0); 
    document.Close(); 
    fs.Close(); 
    weiter.Close(); 
    reader.Close(); 

나는이 문서의 마지막에 행을 추가하려고하지만 그 코드를 수행 한 후에는 파일을 생성하고 내가 그것을 열 때 나는 텍스트를 볼 수 없습니다. 내가 그 단어에 대한 검색을 할 때 거기에 있다고 말합니다. 이처럼

그 코드가 모든 문제를 해결했다는 것을 의미하는 글꼴은 어느 쪽이든 그 말을 페이지 끝으로 가져와 숨김 대신 표시하는 방법을 말해 줄 수 있습니까?

답변

2
에 코드를 먼저 따라서이

PdfImportedPage page = weiter.GetImportedPage(reader, 1); 
cb.AddTemplate(page, 0, 0); 

에 텍스트

cb.SetColorFill(BaseColor.DARK_GRAY); 
cb.SetFontAndSize(bf, 8); 
cb.BeginText(); 
string text = "Haseeb Ahmad"; 
cb.ShowTextAligned(1, text, 520, 640, 0); 
cb.EndText(); 

그 후에 사본을 원본 페이지를 그립니다

(흰색 배경 채우기를 포함 할 수있다) 원래 페이지의 내용이 새를 커버 본문.

주문을 변경하고 페이지를 먼저 복사 한 다음 텍스트를 작성하십시오.


당신의 작업은 기존의 PDF의 기존 페이지에 텍스트를 넣어 실제로 경우, 당신은 완전히 다른이 iText 클래스를 사용해야합니다 다음 PdfWriter 더 만들기 위해 만든 동안 PdfStamper이 작업의 바로 이런 종류의 제작된다 새로운 PDF를 처음부터.

PdfStamper은 가능한 한 원본 PDF를 많이 유지하는 반면 사용자의 접근 방식은 문서 수준 정보와 대화 형 부분을 양식 필드와 같이 상당히 손실이됩니다.

+0

그래, 빨리 해봅시다. 좋아, 그게 어떻게 작가 대신에 pdfstamper를 사용하는 코드를 뭐죠 회신 해 주셔서 감사합니다. –

+0

@Haseeb 다른 질문입니다. 새로운 질문을하기 위해 주석을 사용하지 마십시오. 일반적으로 주석 필드에서 편리하게 대답 할 수 없으므로 새로운 질문을하지 마십시오. 또한 : 당신의 질문은 명확하지 않습니다. 너의 문제는 무엇인가? 너 뭐 해봤 니? 온라인에서 구할 수있는 많은'PdfStamper' 예제 중 하나를 찾으려고 노력 했습니까? –

+0

지금 당장. 내가 그 질문을 곧 게시 할 것 인 질문을 만들 으려고 생각하고 있었던 미스 코멘트를 위해 유감스럽게 생각한다 기다림을 기다리는 90 분 전에 내가 흐름을 가로 지르게하지 마라. –

관련 문제