iTextSharp:从另一个PDF复制PDF内容时会丢失什么?

iTextSharp:从另一个PDF复制PDF内容时会丢失什么?,pdf,itextsharp,Pdf,Itextsharp,我目前正在评估iTextSharp在项目中的潜在用途。我为实现目标而编写的代码是使用PDFCopy.GetImportedPage从现有PDF复制所有页面。我想知道的是,在复制这样的PDF内容时,PDF和/或页面会丢失哪些信息?例如,我已经注意到的一件事是,我需要手动将任何书签和指定目的地添加到我的新PDF中 下面是一些粗略的示例代码: using (PdfReader reader = new PdfReader(inputFilename)) {

我目前正在评估iTextSharp在项目中的潜在用途。我为实现目标而编写的代码是使用PDFCopy.GetImportedPage从现有PDF复制所有页面。我想知道的是,在复制这样的PDF内容时,PDF和/或页面会丢失哪些信息?例如,我已经注意到的一件事是,我需要手动将任何书签和指定目的地添加到我的新PDF中

下面是一些粗略的示例代码:

        using (PdfReader reader = new PdfReader(inputFilename))
        {
            using (MemoryStream ms = new MemoryStream())
            {
                using (Document document = new Document())
                {
                    using (PdfCopy copy = new PdfCopy(document, ms))
                    {
                        document.Open();

                        int n;
                        n = reader.NumberOfPages;
                        for (int page = 0; page < n; )
                        {
                            copy.AddPage(copy.GetImportedPage(reader, ++page));
                        }

                        // add content and make further modifications here
                    }
                }

                // write the content to disk
            }
        }
使用(PdfReader读取器=新PdfReader(inputFilename))
{
使用(MemoryStream ms=new MemoryStream())
{
使用(文档=新文档())
{
使用(PdfCopy副本=新PdfCopy(文档,ms))
{
document.Open();
int n;
n=reader.NumberOfPages;
对于(int page=0;page
基本上,任何文档级而非页面级的内容都会丢失,书签和目标都是文档级的。打开并查看第3.6.1节,了解文档目录中的其他条目,包括线程、打开和附加操作以及元数据


您可能已经看到了这些,但这里有一些示例(Java)介绍了如何操作和如何操作。

基本上,任何文档级而非页面级的内容都会丢失,书签和目标都是文档级的。打开并查看第3.6.1节,了解文档目录中的其他条目,包括线程、打开和附加操作以及元数据

您可能已经看到了这些,但这里有一些示例(Java)介绍了如何和如何