使用itextshapr嵌入pdf文件时隐藏文本

-1 c# itext

我正在学习itextsharp,我有什么问题吗?将文字嵌入pdf文件(水印)时如何隐藏文字?如果我成功嵌入,如何从嵌入的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();
Run Code Online (Sandbox Code Playgroud)

我不明白!!!

Mar*_*rer 5

under.setTextRenderingMode(PdfContentByte.TEXT_RENDER_MODE_INVISIBLE);
under.showTextAligned(PdfContentByte.ALIGN_CENTER, someString, x, y, rot);
Run Code Online (Sandbox Code Playgroud)

TEXT_RENDER_MODE_*常数仅用于setTextRenderingMode()

showTextAligned的第一个参数定义您要如何根据传入点对齐文本。

PS:任何人都可以使用标准文本工具复制您的不可见文本。这不是隐藏的。ctrl + a也会选择它(以及页面上的所有其他文本)。