首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用iTextSharp VS2017 c#以编程方式从大纲中删除pdf书签

iTextSharp是一个流行的开源库,用于在C#中处理PDF文件。它提供了丰富的功能,包括创建、编辑和操作PDF文档。

在使用iTextSharp和VS2017进行编程时,可以通过以下步骤从PDF文档的大纲中删除书签:

  1. 首先,确保已将iTextSharp库添加到项目中。可以通过NuGet包管理器来安装iTextSharp。
  2. 导入iTextSharp的命名空间:
代码语言:txt
复制
using iTextSharp.text;
using iTextSharp.text.pdf;
  1. 加载要处理的PDF文档:
代码语言:txt
复制
string filePath = "path_to_pdf_file";
PdfReader reader = new PdfReader(filePath);
  1. 获取PDF文档的大纲(书签):
代码语言:txt
复制
PdfOutline rootOutline = reader.Outlines;
  1. 遍历大纲并删除书签:
代码语言:txt
复制
foreach (PdfOutline outline in rootOutline.AllChildren) {
    outline.Remove();
}
  1. 保存修改后的PDF文档:
代码语言:txt
复制
string outputFilePath = "path_to_output_pdf_file";
PdfStamper stamper = new PdfStamper(reader, new FileStream(outputFilePath, FileMode.Create));
stamper.Close();
reader.Close();

这样,使用iTextSharp和VS2017的C#编程方式,你可以从PDF文档的大纲中删除书签。

关于iTextSharp的更多信息和使用示例,你可以参考腾讯云的相关产品介绍链接地址:iTextSharp产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

itext7知识点研究(PDF编辑)

static class MyEventListener implements IEventListener { private List<Rectangle> rectangles = new ArrayList<>(); @Override public void eventOccurred(IEventData data, EventType type) { if (type == EventType.RENDER_TEXT) { TextRenderInfo renderInfo = (TextRenderInfo) data; Vector startPoint = renderInfo.getDescentLine().getStartPoint(); Vector endPoint = renderInfo.getAscentLine().getEndPoint(); float x1 = Math.min(startPoint.get(0), endPoint.get(0)); float x2 = Math.max(startPoint.get(0), endPoint.get(0)); float y1 = Math.min(startPoint.get(1), endPoint.get(1)); float y2 = Math.max(startPoint.get(1), endPoint.get(1)); rectangles.add(new Rectangle(x1, y1, x2 - x1, y2 - y1)); } } @Override public Set<EventType> getSupportedEvents() { return new LinkedHashSet<>(Collections.singletonList(EventType.RENDER_TEXT)); } public List<Rectangle> getRectangles() { return rectangles; } public void clear() { rectangles.clear(); } } static class MyCharacterEventListener extends MyEventListener { @Override public void eventOccurred(IEventData data, EventType type) { if (type == EventType.RENDER_TEXT) { TextRenderInfo renderInfo = (TextRenderInfo) data; for (TextRenderInfo tri : renderInfo.getCharacterRenderInfos()) { super.eventOccurred(tri, type); } } } }

02
领券