を使用してPDFファイルの種類を決定するには?どのようにPDFファイルの種類を判別する方法はありiTextSharp
6
A
答えて
0
0
0
それは、デフォルトではアクセスできないように私だけPDFWriterのオブジェクトのウォッチウィンドウで適切な場所を検索した後、PDFプロデューサーを置き換えるために、このメソッドを作り、それがPDFで「PDFの作成者」に変更:
private static void ReplacePdfCreator(PdfWriter writer)
{
/*
Warning
*
This is not an option offered as is and i had to workaround it by using Reflection and change it
manually.
*
Alejandro
*/
Type writerType = writer.GetType();
PropertyInfo writerProperty =
writerType.GetProperties(BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance)
.FirstOrDefault(p => p.PropertyType == typeof(PdfDocument));
if (writerProperty != null)
{
PdfDocument pd = (PdfDocument)writerProperty.GetValue(writer);
Type pdType = pd.GetType();
FieldInfo infoProperty =
pdType.GetFields(BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance)
.FirstOrDefault(p => p.Name == "info");
if (infoProperty != null)
{
PdfDocument.PdfInfo pdfInfo = (PdfDocument.PdfInfo)infoProperty.GetValue(pd);
if (pdfInfo != null)
{
string creator = pdfInfo.GetAsString(new PdfName("Producer")).ToLowerInvariant();
if(creator.Contains("itextsharp"))
{
// created with itext sharp
}
else if(creator.Contains("adobe"))
{
// created with adobe something (distiller, photoshop, whatever)
}
else if(creator.Contains("pdfpro"))
{
// created with pdf pro
}
else if(add your own comparison here, for example a scanner manufacturer software like HP's one)
{
}
}
}
}
}
関連する問題
- 1. USBホストデバイスの種類を判別する方法は?
- 2. MVCのようなURLからファイルの種類を判断する方法
- 3. どのような種類のオブジェクトがイベントの送信者であるかを判断する方法は?
- 4. のiOS:CNContactPicker didSelect - 選択したプロパティの種類を判別する方法は?
- 5. クロスプラットフォームのアプローチでドライブの種類を判断する方法
- 6. iTextSharp - あるPDFから別のPDFに要素をコピーする
- 7. Java:ファイルが配置されているドライブの種類を判別する方法は?
- 8. 入力を解析してデータの種類を判別する
- 9. どのような種類のファジィフラッドフィルアルゴリズムがありますか?
- 10. これはどのデータベースの種類を判別できますか?
- 11. CPUの種類を判断する方法インテル®64およびIA-32
- 12. ファイルpdfとすべての画像の種類を回転する方法
- 13. jconsole/jvisualvmからガベージコレクタの種類を判別しますか?
- 14. バイナリ/テキストファイルの種類をJavaで判別しますか?
- 15. 例外メッセージを使用して例外の種類を判断する方法はありますか
- 16. MS Windowsにはどのような種類のカーネルがありますか?
- 17. フィードにはどのような種類の投稿がありますか?
- 18. Agdaにはどのようなサイズの種類がありますか?
- 19. Meteorでユーザーが使用したログインの種類を判別するには?
- 20. 、私はこの種類のPDFファイル名を持つファイル名内
- 21. プロパティがリフレクションによって配列の種類であるかどうかを判定します。
- 22. lazyloadedプロパティにはどのような種類がありますか?
- 23. 機能にはどのような種類がありますか?
- 24. ベース64コンテンツから画像の種類を判別
- 25. iTextSharpはiTextSharpを使用してPDFファイル
- 26. 変換行列からの種類の判別(反転)
- 27. 2種類のPDFをJavaから別のタブに表示するには
- 28. Perl(またはPython)とExcelには、セル内の複数行のテキストで使用されるフォントの種類を判別する方法がありますか?
- 29. itextsharpを使用して他のpdfファイルにpdfを追加する方法
- 30. どのような種類のウェブフィルタがウェブフラックスにありますか
あなたの基準は何ですか?スキャナーのPDFと他の種類の文書をどのように区別しますか?印刷される文字の量ですか?イメージでカバーされるページ領域の量ですか?それはPDFを作成したプログラムの名前ですか? iTextSharpはそのような値を決定するのに役立ちますが、あらかじめ基準を策定しなければなりません。 – mkl
「どのようにしてスキャナからPDFを区別しない...」 - あなたも、それは必ずしもそうではありません、テキスト – ESB
Hhmmmを選択することはできません。いくつかの追加のOCRを行い、スキャンされたPDFを目に見えないが選択可能なテキストで充実させるスキャンソリューションがあります。また、iTextSharpとC#*を使ってデータファイルからPDF *を簡単に作成することもできます。ですから、実際に選択可能なテキストのあるPDFとないPDFを区別したいと思うように質問を解釈できますか? – mkl