簡體   English   中英

在Adobe Reader中對pdf圖層(使用iTextsharp創建)添加注釋

[英]Adding comment on pdf layer (created using iTextsharp) in Adobe reader

我是這個主題的新手。

我到目前為止所做的

1)我已經閱讀了現有的pdf文件

2)我已經使用iTextSharp的pdfStamper創建了現有pdf的副本

3)並使用iTextSharp在新的pdf上創建三層。

現在,我想在Adobe Reader中打開此pdf,並且我想在這三層上分別添加注釋作為常規pdf評論選項。

但是問題是,它沒有保存在相應的層上,而是保存在pdf上。

注釋的pdf層的開/關操作不起作用。

您可以指導我如何繼續進行嗎?

謝謝你們

您的問題無法重現。 請查看AddOCG以了解我如何重現該問題並失敗。 這是一件好事,因為這意味着沒有問題。

我從我的書OptionalContentExample.cs中獲取了示例,並對其進行了更改,以便它不會從頭開始創建新文檔,而是將可選內容添加到現有文檔中。

這涉及到使用PdfStamper和使用getPdfLayers()方法:

PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
Map<String, PdfLayer> layers = stamper.getPdfLayers();
PdfWriter writer = stamper.getWriter();
PdfContentByte cb = stamper.getOverContent(1);
PdfLayer group = PdfLayer.createTitle("Grouped layers", writer);
PdfLayer layer1 = new PdfLayer("Group: layer 1", writer);
PdfLayer layer2 = new PdfLayer("Group: layer 2", writer);
group.addChild(layer1);
group.addChild(layer2);
cb.beginLayer(layer1);
ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase(
            "layer 1 in the group"), 50, 700, 0);
cb.endLayer();
cb.beginLayer(layer2);
ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase(
            "layer 2 in the group"), 50, 675, 0);
cb.endLayer();
stamper.close();
reader.close();

生成的PDF hello_ OCG.pdf具有預期的所有層,並且所有層的工作方式與本書示例中的層相同。 也就是說:在支持此功能的PDF查看器中查看時,這些圖層將起作用。 一些PDF查看器完全忽略了OCG。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM