我试图逐页分割PDF文件,并获取每个页面文件的字节数组。但是,我无法将C#中的每个页面转换为iText 7.0.4版本中的字节数组。iText 7.0.4.0 - 将PdfDocument转换为字节数组
其他解决方案中引用的方法依赖于PdfWriter.GetInstance或PdfCopy,这似乎不再存在于iText版本7.0.4中。
我已经通过了iText的示例代码和API文档,但是我一直无法从中提取任何有用的信息。
using (Stream stream = new MemoryStream(pdfBytes))
using (PdfReader reader = new PdfReader(stream))
using (PdfDocument pdfDocument = new PdfDocument(reader))
{
PdfSplitter splitter = new PdfSplitter(pdfDocument);
// My Attempt #1 - None of the document's functions seem to be of help.
foreach (PdfDocument splitPage in splitter.SplitByPageCount(1))
{
// ??
}
// My Attempt #2 - GetContentBytes != pdf file bytes.
for (int i = 1; i <= pdfDocument.GetNumberOfPages(); i++)
{
PdfPage page = pdfDocument.GetPage(i);
byte[] bytes = page.GetContentBytes();
}
}
任何帮助将不胜感激。
你处理一个压缩的pdf?压缩单个页面不会产生与整个文件压缩时相同的字节。所以你应该找到一个更好的方式来定义成功比“返回文件中找到的相同字节” –
不,我正在处理未压缩的PDF文件。我所需要的只是能够分割PDF文件并存储拆分页面供以后使用。一旦它们分离,我不必担心将原始文档重新放在一起。 –