我用iTextSharp创建了一个程序,允许用户点击按钮选择文件,然后用第二个按钮执行主要功能。现在我想制作一个按钮,它将在第二个按钮中替换此功能:
using (Stream dest = File.Create(@"L:\Users\user\Documents\PDFnummerieren\PDF.pdf"))
我想制作第三个按钮,该按钮将由用户获得所选位置,而不是不可更改的给定位置。
整个守则:
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(theFile) || !File.Exists(theFile))
return;
byte[] bytes = File.ReadAllBytes(theFile);
iTextSharp.text.Font blackFont = FontFactory.GetFont("Arial", 12,
iTextSharp.text.Font.NORMAL, BaseColor.BLACK);
using (Stream source = File.OpenRead(theFile))
using (Stream dest = File.Create(theCFile))
{
PdfReader reader = new PdfReader(source);
using (PdfStamper stamper = new PdfStamper(reader, dest))
{
int pages = reader.NumberOfPages;
for (int i = 1; i <= pages; i++)
{
ColumnText.ShowTextAligned(stamper.GetOverContent(i), Element.ALIGN_RIGHT,
new Phrase(i.ToString(), blackFont), 568f, 15f, 0);
}
}
}
}
private void button3_Click(object sender, EventArgs e)
{
var FD = new System.Windows.Forms.OpenFileDialog();
if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
theFile = FD.FileName;
}
private void button12_Click(object sender, EventArgs e)
{
var FD = new System.Windows.Forms.FolderBrowserDialog();
if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK) ;
}
使用FolderBrowserDialog类选择文件夹位置。
您可以使用Path.Combine(selectedFolder, filename)
组合输出文件夹和文件名,并将其放在using
语句中。
保存所选输出文件夹的代码:
private void button12_Click(object sender, EventArgs e)
{
var FD = new System.Windows.Forms.FolderBrowserDialog();
if (FD.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string selectedPath = FD.SelectedPath;
theCFile = Path.Combine(selectedPath, theFile)
}
}