我使用以下函数将pdf分成两部分.
虽然它正在分割pdf,但内容却显得颠倒了.如何将其旋转180度.
请帮忙.下面是相同的代码
private static void ExtractPages(string inputFile, string outputFile,
int start, int end)
{
// get input document
PdfReader inputPdf = new PdfReader(inputFile);
// retrieve the total number of pages
int pageCount = inputPdf.NumberOfPages;
if (end < start || end > pageCount)
{
end = pageCount;
}
// load the input document
Document inputDoc =
new Document(inputPdf.GetPageSizeWithRotation(1));
// create the filestream
using (FileStream fs = new FileStream(outputFile, FileMode.Create))
{
// create the output writer
PdfWriter outputWriter = PdfWriter.GetInstance(inputDoc, fs); …
Run Code Online (Sandbox Code Playgroud) 我一直在网上搜索2周,并为我的问题找到了一些有趣的解决方案,但似乎没有什么能给我答案.
我的目标是做下面的事情:
我想在静态PDF文件中找到一个文本,并将该文本替换为另一个文本.我想保留内容的设计.这真的很难吗?
我找到了办法,但我丢失了整个信息:
using (PdfReader reader = new PdfReader(path))
{
StringBuilder text = new StringBuilder();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
text.Append(PdfTextExtractor.GetTextFromPage(reader, i));
text.Replace(txt_SuchenNach.Text, txt_ErsetzenMit.Text);
}
return text.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我的第二次尝试更好,但需要我可以更改内部文本的字段:
string fileNameExisting =path;
string fileNameNew = @"C:\TEST.pdf";
using (FileStream existingFileStream = new FileStream(fileNameExisting, FileMode.Open))
using (FileStream newFileStream = new FileStream(fileNameNew, FileMode.Create))
{
// PDF öffnen
PdfReader pdfReader = new PdfReader(existingFileStream);
PdfStamper stamper = new PdfStamper(pdfReader, newFileStream);
var form = stamper.AcroFields;
var fieldKeys = form.Fields.Keys;
foreach …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ITextsharp填写表单,并尝试使用以下代码来获取pdf中的所有字段:
string pdfTemplate = @"c:\Temp\questionnaire.pdf";
PdfReader pdfReader = new PdfReader(pdfTemplate);
StringBuilder sb = new StringBuilder();
foreach (var de in pdfReader.AcroFields.Fields)
{
sb.Append(de.Key.ToString() + Environment.NewLine);
}
Run Code Online (Sandbox Code Playgroud)
但foreach循环始终为空计数.我是否需要做一些事情来提交自己,因为我从这里尝试了这个例子并且它工作正常... 这是我试图填写的pdf的一个例子
有任何想法吗?
编辑::
我正在尝试使用iTextSharp将文本添加到现有的PDF文件中.我一直在阅读很多帖子,包括这里的流行帖子.
我有一些不同之处:
所以我尝试修改代码,因此它接受一个字节数组并返回一个字节数组.我走到这一步:
我的问题:
我不明白为什么.从我看到的每个StackOverflow帖子中,我都这样做.使用DirectContent
,我使用BeginText
和写一个文本.然而,无论我如何移动位置,我都看不到它.
知道我的代码中缺少什么吗?
public static byte[] WriteIdOnPdf(byte[] inPDF, string str)
{
byte[] finalBytes;
// open the reader
using (PdfReader reader = new PdfReader(inPDF))
{
Rectangle size = reader.GetPageSizeWithRotation(1);
using (Document document = new Document(size))
{
// open the writer
using (MemoryStream ms = new MemoryStream())
{
using (PdfWriter writer = PdfWriter.GetInstance(document, ms))
{
document.Open();
for (var i = 1; i <= reader.NumberOfPages; i++)
{ …
Run Code Online (Sandbox Code Playgroud)