我想使用 iTextSharp 和矩形 (0,1000,600,155) 裁剪 PDF 文件。一切都很好,当您打开创建的 *.pdf 文件时,您只能看到裁剪后的内容,但是!如果您解析该 pdf,仍然存在来自文档不可见部分的信息和文本,我无法接受。我怎样才能完全删除这些数据?
这是我的代码示例:
static void cropiTxtSharp(){
string file ="C:\\testpdf.pdf";
string oldchar = "testpdf.pdf";
string repChar = "test.pdf";
PdfReader reader = new PdfReader(file);
PdfDictionary pageDict;
PdfRectangle rect = new PdfRectangle(0, 1000, 600, 115);
pageDict = reader.GetPageN(1);
pageDict.Put(PdfName.CROPBOX, rect);
PdfStamper stamper = new PdfStamper(reader, new FileStream(file.Replace(oldchar, repChar), FileMode.Create, FileAccess.Write));
stamper.Close();
reader.Close();
}
Run Code Online (Sandbox Code Playgroud)
编辑:这是有效的代码,我花了几个小时,但最终我做到了:P
首先,将以下内容添加到项目中:
using iTextSharp.text.pdf;
using iTextSharp.text;
using iTextSharp.xtra.iTextSharp.text.pdf.pdfcleanup;
Run Code Online (Sandbox Code Playgroud)
然后你就可以使用我的代码:
static void textsharpie()
{
string file = "C:\\testpdf.pdf";
string oldchar = "testpdf.pdf";
string …Run Code Online (Sandbox Code Playgroud)
假设我们有字典: Dict('a' => 2, 'b' => 3, 'c' => 2, 'd' => 4, 'e' => 2)
我用了:
var items = from pair in Dict orderby pair.Value descending select pair;
Run Code Online (Sandbox Code Playgroud)
一切都很好,输出是:
d: 4
b: 3
c: 2
e: 2
a: 2
Run Code Online (Sandbox Code Playgroud)
现在我想按字母顺序对具有相同值的键进行排序,以获得:
d: 4
b: 3
a: 2
c: 2
e: 2
Run Code Online (Sandbox Code Playgroud)
但我不知道如何制作它.
有任何想法吗?
我试图在不同的顶点设置文本并绘制它们,但我不知道如何制作它.我搜索了graph_tool documentaction,但是我找不到如何制作它,因为例子很混乱......
我的代码是:
from graph_tool.all import *
g = Graph()
g.add_vertex()
// How to something like: g.vertex(0).text = "A"
g.add_vertex()
// How to something like: g.vertex(1).text = "B"
g.add_edge(g.vertex(0),g.vertex(1))
// And how to use it instead of vertex_index
graph_draw(g, vertex_text=g.vertex_index, vertex_font_size=18, output_size=(200, 200), output="test.png")
Run Code Online (Sandbox Code Playgroud)
等待任何线索