У меня есть 4 файла pdf-файлов с помощью itextsharp, я добавил значения, и я объединил/добавил 4 pdf-файла в один документ, поэтому все 4 страницы находятся под одним единственным именем файла PDF. Теперь я хочу добавить закладку в мой pdf-файл. есть ли способ сделать в C#? для лучшего понимания, пожалуйста, обратитесь ниже изображений Как добавить закладки в файл PDF?
Привет, это то, что я пытаюсь сделать, я не получаю какие-либо ошибки, но до сих пор нет закладок в моем pdf, я хочу добавить закладку с 4 разделами, как показано на рисунке. После слияния я хочу добавить закладку в окончательный pdf.
enter code herepublic string MergePDFs()
{
string outPutFilePath = @"D:\jeldsbre.pdf";
string genereatedpdfs = @"D:\genereatedpdfs";
using (FileStream stream = new FileStream(outPutFilePath, FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A4);
PdfCopy pdf = new PdfCopy(pdfDoc, stream);
pdf.SetMergeFields();
pdfDoc.Open();
var files = Directory.GetFiles(genereatedpdfs);
Console.WriteLine("Merging files count: " + files.Length);
int i = 1;
foreach (string file in files)
{
Console.WriteLine(i + ". Adding: " + file);
pdf.AddDocument(new PdfReader(file));
i++;
}
List<Dictionary<string, object>> bookmarks = new List<Dictionary<string, object>>();
IList<Dictionary<string, object>> tempBookmarks = new List<Dictionary<string, object>>();
SimpleBookmark.ShiftPageNumbers(tempBookmarks, 1, null);
bookmarks.AddRange(tempBookmarks);
SimpleBookmark.ShiftPageNumbers(tempBookmarks, 3, null);
bookmarks.AddRange(tempBookmarks);
pdf.Outlines = bookmarks;
if (pdfDoc != null)
pdfDoc.Close();
string base64 = GetBase64(outPutFilePath);
return base64;
}
}
Этот вопрос звучит как возможный дубликат [Объединить PDF-файлы и добавить закладку с помощью iText в java] (http://stackoverflow.com/questions/23688308/merge-pdfs-and-add-bookmark-with-itext-in- java) с той лишь разницей, что этот вопрос касается iTextSharp/C# (но ответ почти идентичен, так как между iText и iTextSharp практически нет разницы) –
Спасибо ... Я последую за этим, и я обновлю вас. – kiransr
Я также предоставил «полномасштабный» ответ (Java и C#), но этот ответ предполагает, что в существующих документах уже есть закладки. (Это не ясно из вашего вопроса, если это так.) –