2011-05-17 142 views
-1

我在學習itextsharp,我有一些問題? 如何隱藏文本,當我將它嵌入到pdf文件(水印)? 如果我成功嵌入,如何從嵌入式pdf文件中獲取文本? 對不起,我的英語技能最差。使用itextshapr嵌入pdf文件時隱藏的文本

我已經使用過「TEXT_RENDER_MODE_INVISIBLE」,但文本出現在PDF文件中(可見)。 這是我的代碼:

PdfReader reader = new PdfReader("test.pdf"); 
PdfStamper stamper = new PdfStamper(reader, new FileStream("testStamperPdf.pdf", FileMode.Create)); 
stamper.ViewerPreferences = PdfWriter.PageLayoutTwoColumnLeft; 
PdfContentByte under; 
BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED); 

int total = reader.NumberOfPages; 

for (int i = 1; i <= total; i++) 
{ 
    under = stamper.GetUnderContent(i); 
    under.BeginText(); 
    under.SetFontAndSize(baseFont, 18); 
    under.ShowTextAligned(PdfContentByte.TEXT_RENDER_MODE_INVISIBLE, "Stackoverflow", 200, 400, 45); 
    under.EndText(); 
} 
stamper.Close(); 

我不明白!

+0

你實際上不是指「隱藏文本」,對嗎? 「隱藏」意味着沒有人能看到它。 「水印」是寫在內容之上的文字或圖像,通常用於顯示版權或所有權。水印是你真正想要的嗎? – 2011-05-17 13:10:04

+0

是的,「隱藏」表示沒有人能看到它。「水印」是文本,它被添加到pdf文件的任何位置(不僅僅是內容的頂部),通常顯示版權或所有權。 – hvlam 2011-05-17 14:11:19

回答

4
under.setTextRenderingMode(PdfContentByte.TEXT_RENDER_MODE_INVISIBLE); 
under.showTextAligned(PdfContentByte.ALIGN_CENTER, someString, x, y, rot); 

TEXT_RENDER_MODE_*常數僅適用於setTextRenderingMode()使用。

爲showTextAligned第一個參數定義你希望你的文字與問候你

PS通過地點排列:任何人都可以給你的隱形文字與標準文本工具複製。這不是隱藏的。 ctrl + a也會選擇它(以及頁面上的所有其他文本)。