我想删除包含特殊字符串(splittag)的 PDF 文件的所有页面。到目前为止,我有这段代码,但它只是给出了源 PDF 的所有页面。那么它有什么问题呢?我遍历源 PDF 的页面并检查实际页面是否包含拆分标签,然后使用它为页码创建一个新的 PDF。如果有人可以提供帮助,那就太好了。谢谢!
iTextSharp.text.PdfReader reader = new iTextSharp.text.PdfReader(textBox3.Text);
string splittag = textBox2.Text;
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
if(PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy()).ToString().Contains(splittag)) ;
{
richTextBox1.Text = PdfTextExtractor.GetTextFromPage(reader, i, new SimpleTextExtractionStrategy());
Document document = new Document();
PdfCopy copy = new PdfCopy(document, new FileStream(textBox5.Text + "\\" + i + ".pdf", FileMode.Create));
document.Open();
copy.AddPage(copy.GetImportedPage(reader, i));
document.Close();
}
}
Run Code Online (Sandbox Code Playgroud) 有人可以告诉我,为什么我的程序在使用VS Setup Projects安装后从两个文件夹写入/读取文件?在第一次启动时,当我启动程序并将程序中的某些内容保存到文件时,它会将其写入:
C:\ Users\UserName\AppData\Local\VirtualStore\Program Files(x86)\ Company Name\Program Name \"
设置"在系统启动后运行"后,我重新启动计算机并启动程序,但这次它从/写入此文件夹:
C:\ Users \用户名\ AppData \本地\ VirtualStore \的Windows\Syswow64资料
因此它在第二次启动时加载错误的值或什么都没有.看起来它取决于我如何启动程序,通过Desktop Symbol或Systemstart上的Autorun.
如何防止这种情况以及如何让程序始终从同一文件夹读/写?我更喜欢将文件保存在根文件夹中,其中exe是(C:\ Program Files(x86)\ CompanyName\ProgramName).
我认为问题出在VS Setup Projects中,或者是因为它是在64位系统上运行的32位应用程序.我已经在其他问题中寻找解决方案,但它没有帮助,相反它没有读任何东西.希望有人能帮助我,谢谢!
这就是我写文件的方式:File.WriteAllText(@"mailstate2", "true");
我没有给出路径...我只是希望它保存在根文件夹中...
有人可以告诉我如何检查字符串是否至少包含一个字母吗?我尝试过:
if (StringName.Text.Contains(Char.IsLetter()))
{
//Do Something
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用。