问题 1:iTextSharp 我使用 iTextsharp 在 pdf 中添加了水印文本。示例代码如下。当我通过 PAC 工具检查 PDF 可访问性时,我收到警告说“可能不恰当地使用 Span 结构元素”。
public void override OnEndPage(PdfWriter writer, Document document) {
float fontSize = 80;
float xPosition = 300;
float yPosition = 400;
float angle = 45;
PdfContentByte under = writer.DirectContentUnder;
BaseFont baseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
Font f = new Font(baseFont, 80, Font.NORMAL, BaseColor.LIGHT_GRAY);
Phrase phrse = new Phrase("TEXT",f);
ColumnText.ShowTextAligned(under , Element.ALIGN_LEFT, phrase, 75, 680,0);
}
谁能帮我解决这些警告?
问题 2:iText 7 我使用 iText 7 添加了 watermarkText。示例代码如下。
PdfGState gs1 = new PdfGState();
gs1.setFillOpacity(0.5f);
PdfCanvas canvas = new PdfCanvas(docEvent.getPage());
canvas.beginMarkedContentSequence(PdfName.ARTIFACT);
canvas.setExtGState(gs1);
new Canvas(canvas, pdfDoc, page.getPageSize())
.setFontColor(Color.LIGHT_GRAY)
.setFontSize(60)
.setFont(font)
.showTextAligned(new Paragraph("WATERMARK"), 298, 421, pdfDoc.getPageNumber(page),
TextAlignment.CENTER, VerticalAlignment.MIDDLE, 45);
canvas.endMarkedContentSequence();
当我通过 PAC 工具检查 PDF 可访问性时,出现错误“此 pdf 已损坏。无法使用”。我该如何解决这个错误?