1

iTextSharp を使用して既存の PDF ドキュメントにテキストの透かしを追加する方法の質問に対する回答を見てきました。私の質問は、どうすれば複数行のテキストを作成できるかです。複数の PdfContentByte を定義せずにこれを行う方法はありますか。運が悪い改行文字を挿入しようとしました。

ここにインターネットからのコードがあります。ちょうど追加しました

pdfData.ShowTextAligned(Element.ALIGN_CENTER, editDate, (pageRectangle.Width / 2) + 100, (pageRectangle.Height / 2) - 100, 45);

透かしの 2 行目を取得するための 2 行目として、機能しますが、最初と同じパラメーター (色、サイズなど) を使用します。

iTextSharp.text.Rectangle pageRectangle = PDFreader.GetPageSizeWithRotation(1);
//pdfcontentbyte object contains graphics and text content of page returned by pdfstamper    
PdfContentByte pdfData = stamper.GetOverContent(1);

//create fontsize for watermark    
pdfData.SetFontAndSize(BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED), 120);

//create new graphics state and assign opacity    
PdfGState graphicsState = new PdfGState();
graphicsState.FillOpacity = 0.2F;
//set graphics state to pdfcontentbyte    
pdfData.SetGState(graphicsState);

//set color of watermark    
pdfData.SetColorFill(iTextSharp.text.Color.BLUE);

//indicates start of writing of text    
pdfData.BeginText();

//show text as per position and rotation    
pdfData.ShowTextAligned(Element.ALIGN_CENTER, "E D I T E D" , (pageRectangle.Width / 2), (pageRectangle.Height / 2), 45);
pdfData.ShowTextAligned(Element.ALIGN_CENTER, editDate, (pageRectangle.Width / 2) + 100, (pageRectangle.Height / 2) - 100, 45);
//call endText to invalid font set    

pdfData.EndText();
4

0 に答える 0