相关疑难解决方法(0)

使用iTextSharp在C#中旋转PDF

我使用以下函数将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)

c# itextsharp

14
推荐指数
4
解决办法
3万
查看次数

iTextSharp替换现有PDF中的文本而不会失去形成

我一直在网上搜索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)

c# pdf itextsharp

8
推荐指数
1
解决办法
2万
查看次数

使用Itextsharp填写PDF表格

我正在尝试使用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的一个例子

有任何想法吗?

编辑::

PDF字段的空错误

c# forms pdf itextsharp fill

6
推荐指数
2
解决办法
2万
查看次数

使用iTextSharp将文本添加到内存流中的现有多页PDF文档

我正在尝试使用iTextSharp将文本添加到现有的PDF文件中.我一直在阅读很多帖子,包括这里流行帖子.

我有一些不同之处:

  • 我的PDF长X页
  • 我希望将所有内容保存在内存中,并且永远不会将文件存储在我的文件系统中

所以我尝试修改代码,因此它接受一个字节数组并返回一个字节数组.我走到这一步:

  • 代码编译并运行
  • 我的out字节数组的长度与字节数组的长度不同

我的问题:

  • 当我稍后存储修改后的字节数组并在我的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)

c# pdf stream itextsharp c#-4.0

2
推荐指数
1
解决办法
7934
查看次数

PDF文件中的水印隐藏在图像后面

我想使用以下内容为现有PDF添加水印:

ITextSharp将文本插入现有pdf

第3个答案正在运行,但如果PDF包含图像,则水印隐藏在其后面.

c# pdf itextsharp

1
推荐指数
1
解决办法
1646
查看次数

标签 统计

c# ×5

itextsharp ×5

pdf ×4

c#-4.0 ×1

fill ×1

forms ×1

stream ×1