0

次のようなペルシャ文化の数字を持つ変数があります:
string Value="۱۰۳۶۷۵۱";
この数字を英語版に変換し、この
Value="1036751"; のように文字列に再度保存します。

スイッチケースの代わりに文化情報などの簡単な方法を使用できる場合、どうすればこれを行うことができるか教えてください

4

4 に答える 4

1

いくつかのツールを使用してそれを行うことができます。iTextPdfSharp はおそらくそれを行うことができます。ドキュメントを開いて、ブックマークを含むカタログ内のツリーをたどることになります。それらのコードは問題なく動作しますが、ツリーの構造を理解できるように仕様をダウンロードしてください。私は元のバージョンの Acrobat を使用していましたが、同僚のエンジニアの多くは、ブックマーク ツリーが少し複雑すぎると感じていました。

BitMiracle も同様のコードを提供しています。彼らは定期的に Stack Overflow をパトロールしているので、彼らからの回答も見られるかもしれません (こんにちは!) -ブックマークのオーサリングに関する彼らの作業のサンプルをここで見ることができます。

お金を払っても構わないと思っているなら、AtalasoftDotPdfを使えば簡単です(免責事項: 私は 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);
    }
}
于 2013-01-22T13:59:16.607 に答える
0

PDF には、「目次」と呼ばれる少なくとも 3 つの異なるものを含めることができます。

  1. ドキュメント アウトライン (ブックマーク)、特定の PDF 構造のセット
  2. ドキュメントの先頭にあるハイパーリンクのリスト。各ハイパーリンクは、ドキュメント内の場所につながります
  3. 各文字列がドキュメントの一部に名前を付け、オプションで、この部分が開始するページを指定するテキスト文字列のリスト。

3番目のケースのすぐに使えるソリューションや実装が簡単なソリューションについては知りません。他のケースはより単純です。

最初のケースでは、ほぼすべての PDF ライブラリで対応できます。@plinth (こんにちは!) は、そのような場合に少なくとも 2 つの解決策を提供しました。

2 番目のケースでは、Docotic.Pdf ライブラリを使用してソリューションを実装できます。基本的に、次のことを試みることができます。

  • ドキュメント内のすべてのリンクを列挙する
  • 互いに近いすべてのリンクを見つけます (何を「閉じる」と扱うかについては、いくつかのヒューリスティックを構築する必要があります)
  • 見つかったリンクからテキストを取得する

あなたのケースが「ハイパーリンクのリスト」である場合は、リンク ターゲットからのテキストの抽出サンプルから手がかりが得られる可能性があります。

免責事項: 私は Docotic.Pdf ライブラリのベンダーである Bit Miracle で働いています。

于 2013-01-22T16:48:46.643 に答える
-1

PDF ファイル (http://www.pdflib.com/) を読み取るには、pdflib のような pdf ライブラリを使用する必要があります。それはうまくいくはずです、頑張ってください!

于 2013-01-22T13:29:15.787 に答える