C# 获取PDF页面长度
在我格式化PDF的文章中,一个或多个页面可能会被清空,我想检测它们并从PDF文件中删除。如果我可以识别小于60KB的页面,我想我可以检测到空页面。因为它们可能是空的 我试着这样做:C# 获取PDF页面长度,c#,itext,page-size,C#,Itext,Page Size,在我格式化PDF的文章中,一个或多个页面可能会被清空,我想检测它们并从PDF文件中删除。如果我可以识别小于60KB的页面,我想我可以检测到空页面。因为它们可能是空的 我试着这样做: var reader = new PdfReader("D:\\_test\\file.pdf"); /* * With reader.FileLength, I can get whole pdf file size. * But I dont know, how can I get pages'sizes..
var reader = new PdfReader("D:\\_test\\file.pdf");
/*
* With reader.FileLength, I can get whole pdf file size.
* But I dont know, how can I get pages'sizes...
*/
for (var i = 1; i <= reader.NumberOfPages; i++)
{
/*
* MessageBox.Show(???);
*/
}
var reader=new-PdfReader(“D:\\\\\ u test\\file.pdf”);
/*
*使用reader.FileLength,我可以获得整个pdf文件大小。
*但是我不知道,我怎样才能得到页面的大小。。。
*/
对于(var i=1;i我将分两步进行:
- 首先使用IEventListener检查文档,以检测哪些页面是空的
- 确定哪些页面为空后,只需将源文档中的非空页面复制到新文档中,即可创建新文档
第1步:
List<Integer> emptyPages = new ArrayList<>();
PdfDocument pdfDocument = new PdfDocument(new PdfReader(new File(SRC)));
for(int i=1;i<pdfDocument.getNumberOfPages();i++){
IsEmptyEventListener l = new IsEmptyEventListener();
new PdfCanvasProcessor(l).processPageContent(pdfDocument.getPage(i));
if(l.isEmptyPage()){
emptyPages.add(i);
}
}
List emptyPages=new ArrayList();
PdfDocument PdfDocument=newpdfdocument(newpdfreader(newfile(SRC)));
对于(int i=1;i我将分两步进行:
- 首先使用IEventListener检查文档,以检测哪些页面是空的
- 确定哪些页面为空后,只需将源文档中的非空页面复制到新文档中,即可创建新文档
第1步:
List<Integer> emptyPages = new ArrayList<>();
PdfDocument pdfDocument = new PdfDocument(new PdfReader(new File(SRC)));
for(int i=1;i<pdfDocument.getNumberOfPages();i++){
IsEmptyEventListener l = new IsEmptyEventListener();
new PdfCanvasProcessor(l).processPageContent(pdfDocument.getPage(i));
if(l.isEmptyPage()){
emptyPages.add(i);
}
}
List emptyPages=new ArrayList();
PdfDocument PdfDocument=newpdfdocument(newpdfreader(newfile(SRC)));
对于(iTi=1;我如何衡量它们的大小?)UWEKEIM,我不想一页一页地拆分PDF文件。因为如果我把一本故事书一页一页地分页,我想什么会对我有用。我不想把PDF文件一页一页地拆开。因为如果我把一本故事书一页一页地拆开,我想什么会对我有用。
void copyNonBlankPages(List<Integer> blankPages, PdfDocument src, PdfDocument dst){
int N = src.getNumberOfPages();
List<Integer> toCopy = new ArrayList<>();
for(int i=1;i<N;i++){
if(!blankPages.contains(i)){
toCopy.add(i);
}
}
src.copyPagesTo(toCopy, dst);
}