如何将PDF合并到PDF组合中?
我正在寻找创建PDF公文包的功能: 图中显示了可以从adobe下载的免费adobe reader(duh!)。当我打开这个特殊的PDF时,我很惊讶它有所有这些布局、文件和附件特性。这绝对不是正常的“PDF合并”。它更像是一个包含多个PDF的包如何将PDF合并到PDF组合中?,pdf,itext,Pdf,Itext,我正在寻找创建PDF公文包的功能: 图中显示了可以从adobe下载的免费adobe reader(duh!)。当我打开这个特殊的PDF时,我很惊讶它有所有这些布局、文件和附件特性。这绝对不是正常的“PDF合并”。它更像是一个包含多个PDF的包 它能做到这一点吗?此PDF功能的搜索词是什么?以下是一个简单的示例,演示如何将文件附加到新的PDF文件: using System.Diagnostics; using System.IO; using iTextSharp.text; using iT
它能做到这一点吗?此PDF功能的搜索词是什么?以下是一个简单的示例,演示如何将文件附加到新的PDF文件:
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
using (var pdfDoc = new Document(PageSize.A4))
{
var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create));
pdfDoc.Open();
pdfDoc.Add(new Phrase("Test"));
var filePath = @"C:\path\logo.png";
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
pdfWriter.AddFileAttachment("desc.", fs);
}
Process.Start("Test.pdf");
}
}
}
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
var reader = new PdfReader("Test.pdf");
using (var stamper = new PdfStamper(reader, new FileStream("newTest.pdf", FileMode.Create)))
{
var filePath = @"C:\path\logo.png";
addAttachment(stamper, filePath, "desc.");
stamper.Close();
}
Process.Start("newTest.pdf");
}
private static void addAttachment(PdfStamper stamper, string filePath, string description)
{
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var pdfWriter = stamper.Writer;
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
stamper.AddFileAttachment(description, fs);
}
}
}
或现有PDF文件:
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
using (var pdfDoc = new Document(PageSize.A4))
{
var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create));
pdfDoc.Open();
pdfDoc.Add(new Phrase("Test"));
var filePath = @"C:\path\logo.png";
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
pdfWriter.AddFileAttachment("desc.", fs);
}
Process.Start("Test.pdf");
}
}
}
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
var reader = new PdfReader("Test.pdf");
using (var stamper = new PdfStamper(reader, new FileStream("newTest.pdf", FileMode.Create)))
{
var filePath = @"C:\path\logo.png";
addAttachment(stamper, filePath, "desc.");
stamper.Close();
}
Process.Start("newTest.pdf");
}
private static void addAttachment(PdfStamper stamper, string filePath, string description)
{
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var pdfWriter = stamper.Writer;
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
stamper.AddFileAttachment(description, fs);
}
}
}
下面是一个简单的示例,演示如何将文件附加到新的PDF文件:
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
using (var pdfDoc = new Document(PageSize.A4))
{
var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create));
pdfDoc.Open();
pdfDoc.Add(new Phrase("Test"));
var filePath = @"C:\path\logo.png";
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
pdfWriter.AddFileAttachment("desc.", fs);
}
Process.Start("Test.pdf");
}
}
}
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
var reader = new PdfReader("Test.pdf");
using (var stamper = new PdfStamper(reader, new FileStream("newTest.pdf", FileMode.Create)))
{
var filePath = @"C:\path\logo.png";
addAttachment(stamper, filePath, "desc.");
stamper.Close();
}
Process.Start("newTest.pdf");
}
private static void addAttachment(PdfStamper stamper, string filePath, string description)
{
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var pdfWriter = stamper.Writer;
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
stamper.AddFileAttachment(description, fs);
}
}
}
或现有PDF文件:
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
using (var pdfDoc = new Document(PageSize.A4))
{
var pdfWriter = PdfWriter.GetInstance(pdfDoc, new FileStream("Test.pdf", FileMode.Create));
pdfDoc.Open();
pdfDoc.Add(new Phrase("Test"));
var filePath = @"C:\path\logo.png";
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
pdfWriter.AddFileAttachment("desc.", fs);
}
Process.Start("Test.pdf");
}
}
}
using System.Diagnostics;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PDFAttachment
{
class Program
{
static void Main(string[] args)
{
var reader = new PdfReader("Test.pdf");
using (var stamper = new PdfStamper(reader, new FileStream("newTest.pdf", FileMode.Create)))
{
var filePath = @"C:\path\logo.png";
addAttachment(stamper, filePath, "desc.");
stamper.Close();
}
Process.Start("newTest.pdf");
}
private static void addAttachment(PdfStamper stamper, string filePath, string description)
{
var fileInfo = new FileInfo(filePath);
var pdfDictionary = new PdfDictionary();
pdfDictionary.Put(PdfName.MODDATE, new PdfDate(fileInfo.LastWriteTime));
var pdfWriter = stamper.Writer;
var fs = PdfFileSpecification.FileEmbedded(pdfWriter, filePath, fileInfo.Name, null, true, null, pdfDictionary);
stamper.AddFileAttachment(description, fs);
}
}
}
你要找的术语是。您可以使用iTextSharp创建这样的PDF。以下是来自以下网站的几个C#示例:
如果选择下载KubrickMovies结果文件,请将扩展名更改为“.pdf”。刚刚注意到-将在本周末尝试修复错误。您要查找的术语是。您可以使用iTextSharp创建这样的PDF。以下是来自以下网站的几个C#示例:
如果选择下载KubrickMovies结果文件,请将扩展名更改为“.pdf”。刚刚注意到它-将在本周末尝试修复错误。Hi,这只会将文件作为附件添加(在我的OP图像的侧栏中),但不会添加到工具栏的“文件”下,因为我已经用红色标记。我需要它是在“文件”部分。这是一个“PDF档案袋”。欲了解更多信息,请阅读“iText-in-action,2nd-edtion”一书中的“16.2.4 PDF软件包、便携集或公文包”一节。您好,这只会将文件作为附件添加(在我的OP图像的侧栏中),但不会添加到工具栏中的“文件”下,因为我已用红色标记。我需要它是在“文件”部分。这是一个“PDF档案袋”。有关更多信息,请阅读“iText in action,2nd edtion”一书中的“16.2.4 PDF软件包、可移植集合或公文包”一节。为了避免每个人在单步执行代码时遇到麻烦,生成公文包的相关步骤包括(1)使用架构创建PdfCollection(2)创建PdfFileSpecification.FileEmbedded()如果参数fileDisplay包含扩展名为嵌入文件类型的文件名,否则包含的文件将显示为未知文件类型(3)创建一个将PdfCollectionItem添加到PdfFileSpecification以获取公文包窗格中的条目(2)使用PdfWriter.AddFileAttachment附加嵌入的文件。与往常一样,Adobe链接已损坏:-(@MartinSchröder-感谢您的提醒。:)链接已修复。为了避免每个人在逐步阅读代码时遇到麻烦,生成公文包的相关步骤包括(1)使用架构创建PdfCollection(2)创建PdfFileSpecification.FileEmbedded()文件如果参数fileDisplay包含扩展名为嵌入文件类型的文件名,否则包含的文件将显示为未知文件类型(3)创建一个将PdfCollectionItem添加到PdfFileSpecification以获取公文包窗格中的条目(2)使用PdfWriter.AddFileAttachment附加嵌入的文件。与往常一样,Adobe链接已损坏:-(@MartinSchröder-谢谢提醒。)链接已修复。