我有一个带有波斯文化数字的变量,如下所示:
字符串值=“1036751”;
我想将这些数字转换为英文版本,然后将其再次保存在我的字符串中,如下所示
值=“1036751”;
请帮助我我该怎么做 如果我可以使用像文化信息这样简单的方法而不是 switch case
您可以使用 Windows.Globalization.NumberFormatting.DecimalFormatter 类来解析字符串。这将解析任何支持的数字系统中的字符串(只要它内部一致)。
您可以使用多种工具来做到这一点。 iTextPdfSharp 可能能够做到这一点。这相当于打开文档并遍历目录中包含书签的树。他们的代码工作正常,但请务必下载规范,以便您可以了解树的结构。我使用的是 Acrobat 的原始版本,我的许多工程师同事都觉得书签树有点过于复杂。
BitMiracle 提供类似的代码。他们定期在 Stack Overflow 上巡逻,因此您也可能会看到他们的答案(嗨!) - 您可以在此处查看他们用于创作书签的工作示例。
如果您愿意付费,使用 Atalasoft 的 DotPdf 很容易(免责声明:我在 Atalasoft 工作,几乎编写了所有 DotPdf)。在我们的 API 中,我们尝试尽可能隐藏结构的复杂性(例如,如果您想迭代单击书签时所采取的一系列操作,则它是 foreach 而不是树遍历)并且我们'我们已将书签树包装到标准
List<T>
集合中。
public void WalkBookmarks(Stream pdf)
{
// open the doc
PdfDocument doc = new PdfDocument(pdf);
if (doc.BookmarkTree != null)
{
// walk the list of top level bookmarks
WalkBookmarks(doc.BookmarkTree.Bookmarks, 0);
}
}
public void WalkBookmarks(PdfBookmarkList list, int depth)
{
if (list == null) return;
foreach (PdfBookmark bookmark in list)
{
// indent to the depth of the list and write the Text
// you can also get the color, basic font styling and
// the action associated with the bookmark
for (i = 0; i < depth; i++) Console.Write(" ");
Console.Writeline(bookmark.Text);
// recurse on any children
WalkBookmarks(bookmark.Children, depth + 1);
}
}
PDF 可以包含至少三种不同的内容,可以称为“目录”:
我不知道针对第三种情况有任何开箱即用或易于实施的解决方案。其他情况更简单。
对于第一种情况,几乎任何 PDF 库都可以。 @plinth(嗨!)对于这种情况至少给出了两种解决方案。
对于第二种情况,可以使用 Docotic.Pdf 库 来实现解决方案。基本上,您可以尝试:
如果您的情况是“超链接列表”,那么从链接目标中提取文本示例可能会为您提供一些开始的线索。
免责声明:我为 Bit Miracle 工作,Docotic.Pdf 库的供应商。
您需要使用 pdflib 之类的 pdf 库来读取 pdf 文件 (http://www.pdflib.com/) 。这应该可以解决问题,祝你好运!