我需要在沒有使用Acrobat SDK(需要安裝完整的Acrobat專業版)的情況下爲pdf文檔添加書籤。 我正在使用iTextSharp,但它是爲Java製作的,並且移植到.net它不完整。 你知道一個免費的替代品或文件來做到這一點嗎?爲了在c#中處理PDF文檔,最好的免費替代Acrobat SDK。
回答
你聲稱「iTextSharp的,但在Java和.NET到它不完整移植取得了」相當錯。主要區別是listed here。
使用iTextsharp添加書籤很簡單。請參閱PdfOutline和PdfDestination的API。下面是一個簡單的例子,讓你開始:
using (Document document = new Document()) {
PdfWriter writer = PdfWriter.GetInstance(
document, Response.OutputStream
);
document.Open();
PdfOutline root = writer.RootOutline;
string section = "Section {0}";
string paragraph = "Paragraph {0}";
for (int i = 0; i < 10;) {
PdfOutline sectionBookmark = new PdfOutline(
root,
new PdfDestination(
PdfDestination.FITH, writer.GetVerticalPosition(true)
),
string.Format(section, ++i)
);
document.Add(new Paragraph(string.Format(section, i)));
for (int j = 0; j < 4;) {
PdfOutline subSectionBookmark = new PdfOutline(
sectionBookmark,
new PdfDestination(
PdfDestination.FITH, writer.GetVerticalPosition(true)
),
string.Format(paragraph, ++j)
);
document.Add(new Paragraph(string.Format(paragraph, j)));
}
document.NewPage();
}
}
上面的例子在5.1.3的Web環境中測試。如果您的開發環境不同,請將上面的Response.OutputStream
替換爲您所選的Stream。
Thx!我會接受你的答案,但是因爲我需要爲現有文檔添加書籤,並且書籤需要在裏面有一個javascript,所以我的puropose與你的代碼有點不同。我的問題是,什麼是相當於PDFstamper.setOutline方法存在於Java中,而不是在C#中? – Alessandro 2011-12-29 13:16:26
這是C#=>'stamper.Outlines = outlines;'中的屬性。無論何時在C#中找不到某些東西,都要查找一個從Java方法名稱中刪除了'set'的屬性。對不起,現在我讀了你的評論,我應該意識到你正在使用現有的PDF。你有[這本書](http://itextpdf.com/book/)?即使你不這樣做,也可以看一下[Chapter 7 examples](http://kuujinbo.info/iTextInAction2Ed/index.aspx),也許從[this]開始(http://kuujinbo.info/iTextInAction2Ed /index.aspx?ch=Chapter07&ex=BookmarkedTimeTable)。它應該有所幫助。 – kuujinbo 2011-12-29 14:13:43
- 1. 最好的免費替代WHM/Cpanel
- 2. Interactive PDF Creator替代Acrobat?
- 3. 通過SDK在Adobe Acrobat中比較PDF文檔
- 4. 電暈SDK免費替代品
- 5. Acrobat DC預檢處理非PDF文件
- 6. 爲C#開發NoSQL的免費替代品(替代ravendb)
- 7. 良好的免費/付費網頁抓取庫在C#.NET中處理javascripts
- 8. 免費的XamlPad替代品
- 9. 最好的免費自動更新c#
- 10. 什麼免費的JVM實現有最好的PermGen處理?
- 11. 免費替代PowerGREP
- 12. 使用acrobat 7.0生成pdf文檔的縮略圖sdk
- 13. ViEmu的免費替代品?
- 14. loggly的免費替代
- 15. 免費替代品的ReportViewer
- 16. 如何處理PDF文檔?
- 17. 德爾福好的免費PDF庫
- 18. Moodle的免費/付費替代方案
- 19. 免費CORS代理
- 20. 如何使用C#或VB.NET的Acrobat SDK從文件創建PDF?
- 21. 符號PocketBrowser替代免費
- 22. 開源/免費MPMediaPicker替代?
- 23. 免費替代Sharepoint門戶?
- 24. 免費開源amfphp替代
- 25. 將PDF轉換爲PDF/A從Adobe Acrobat Professional中XI/DC SDK
- 26. 在ASP.net中爲c#.net提供免費的HTML TO PDF DLL
- 27. Acrobat SDK C#教程
- 28. 推薦最好免費的在線項目管理工具
- 29. 使用Acrobat SDK和C#讀取PDF文件.net
- 30. 爲什麼GWT是免費的? Google從中獲得了哪些好處?
你需要一個「免費的啤酒」解決方案嗎? – Bobrovsky 2011-12-30 17:56:07
我的意見是ItextSharp是最好的免費替代acrobat sdk – Alessandro 2012-01-04 11:43:46
的問題是:iTextSharp只對開源項目免費。 – Bobrovsky 2012-01-04 17:24:12