我正在阅读PDF文件,因为它上面写了一个字符串:
public ActionResult Index(HttpPostedFileBase file)
{
byte[] pdfbytes = null;
BinaryReader rdr = new BinaryReader(file.InputStream);
pdfbytes = rdr.ReadBytes((int)file.ContentLength);
PdfReader myReader = new PdfReader(pdfbytes);
我尝试将新文件传递给FileStream
,如下所示:
FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
但我不知道如何将复制的新文件传递给fs
对象。你能帮帮我吗?感谢。
答案 0 :(得分:1)
如果您有权访问更新的字节数组,则将其传递给RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(?:www\.)?matheval\.info$ [NC]
RewriteRule ^/?help\.html$ http://help.matheval.info/ [L,NC,R=301]
。或者您可能有一个PdfDocument或PdfWriter的实例,它通常允许将文档保存到磁盘上的文件中。希望它有所帮助!
答案 1 :(得分:1)
以下是读取现有pdf文件,将其复制到新文件并添加新字符串行的示例:
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string originalFile = "c:\\Users\\Admin\\Desktop\\receipt mod 3.pdf";
string copyOfOriginal = "c:\\Users\\Admin\\Desktop\\newFile.pdf";
using (var reader = new PdfReader(originalFile))
{
using (var fileStream = new FileStream(copyOfOriginal, FileMode.Create, FileAccess.Write))
{
var document = new Document(reader.GetPageSizeWithRotation(1));
var writer = PdfWriter.GetInstance(document, fileStream);
document.Open();
for (var i = 1; i <= reader.NumberOfPages; i++)
{
document.NewPage();
var baseFont = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
var importedPage = writer.GetImportedPage(reader, i);
var contentByte = writer.DirectContent;
contentByte.BeginText();
contentByte.SetFontAndSize(baseFont, 12);
var LineString = "Hello World!";
contentByte.ShowTextAligned(10,LineString,50,50,0);
contentByte.EndText();
contentByte.AddTemplate(importedPage, 0, 0);
}
document.Close();
writer.Close();
}
}
}
}
}
答案 2 :(得分:0)
试试这个。 该程序将所有pdf文件从一个位置复制到另一个位置。
protected void Button1_Click(object sender, EventArgs e)
{
string sourceDirectory = @"D:\project training\source";
string targetDirectory = @"D:\project training\destiny";
Copy(sourceDirectory, targetDirectory);
}
public static void Copy(string sourceDirectory, string targetDirectory)
{
DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);
CopyAll(diSource, diTarget);
}
public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
Directory.CreateDirectory(target.FullName);
foreach (FileInfo fi in source.GetFiles())
{
if (fi.Extension.Equals(".pdf"))
{
fi.CopyTo(Path.Combine(target.FullName, fi.Name), true);
}
}
foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
{
DirectoryInfo nextTargetSubDir =
target.CreateSubdirectory(diSourceSubDir.Name);
CopyAll(diSourceSubDir, nextTargetSubDir);
}
}