Benutzer mit den meisten Antworten
Mit VB.NET x-beliebige Dateien umwandeln in Textdateien?

Frage
-
Hallo,
ich hätte da eine etwas seltsame Frage - nicht wundern ...
Gibt es in VB.NET Bordmittel, um x-beliebige Dateien, z.B.
- MS-Word
- MS-Excel
- MS-Powerpoint
- MS-Access
- PDF
umzuwandeln in Textdateien?
Oder gibt es zusätzliche, kostenlose Bibliotheken, die so etwas können?
Ich sagte ja: Nur nicht wundern ...
Gruß und ein schönes Wochenende
Thomas
Antworten
-
Hallo Thomas,
Volltextsuche ist was anderes. Da gibt es einiges. Zwar auch nicht direkt in .NET aber ggfs. dennoch einen Blick wert.
http://technet.microsoft.com/de-de/library/dd183108(v=office.14).aspx
PDF kann man über einen entsprechenden iFilter dann auch indizieren. Die passenden iFilter gibts bspw. von Adobe, Foxit Software, ...
Wenn ein passender SQL Server vorhanden ist, bietet der auch eine Volltextsuche. Allerdings müsste man die Dateien dann wohl in die Datenbank importieren. Ob das mit FILESTREAM und Co. auch geht, weiß ich grad nicht.
Evtl. liegt dir Lucene.NET aber eher:
https://cwiki.apache.org/LUCENENET/guides-and-tutorials-from-around-the-web.html
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Donnerstag, 23. Mai 2013 18:54
- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 31. August 2013 17:53
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 28. Januar 2015 10:34
-
Hi.
Eine denkbare Variante wäre auch, sich unter http://www.ghisler.com/dplugins.htm einmal die Plugins für TextSearch herunterzuladen (bei denen angeblich ein Quellcode dabei sein soll). Je nachdem, welche Sprache das ist und wie er funktioniert, lässt sich das eine oder andere davon vielleicht auf VB.NET übertragen.
Nur eine Idee, *falls* man das mal versuchen wollte, selbst zu schreiben. :-)
LG, Dennis.
- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 31. August 2013 17:53
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 28. Januar 2015 10:35
Alle Antworten
-
Hallo Thomas,
in .NET gibt es da nichts. Kann es auch nicht, da sich .NET nicht um spezifische Dateiformate kümmern kann und will.
Kostenpflichtige Komponenten wären bspw. die von Aspose. Ob man das gewünschte zumindest für die Microsoft Dokumentformate (allerdings nur die neueren Versionen) auch mit dem Open XML SDK erreichen kann, weiß ich nicht, ich kanns mir allerdings auch nicht vorstellen.
Über Automatisierung der einzelnen Officeanwendungen kann man hier für Word, Excel und ggfs. auch Powerpoint etwas machen.
Bei Access frage ich mich allerdings, wie Du dir das vorstellst? Sollen da sämtliche Daten aus allen Tabellen unstrukturiert irgendwo hingeschrieben werden?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 31. August 2013 17:53
-
Hallo Stefan,
es geht um die Umsetzung einer Volltextsuche in einer Webanwendung.
Was PHP schnell und problemlos kann, mit Bordmitteln, ist das Suchen von Textfragmenten in Textdateien (*.txt, *.htm, *.html, *.php, *.asp, usw.).
Für PHP gibt es Code-Module, die bspw. Office- oder PDF-Dateien umwandeln in Textdateien.
Nur denke ich, dass das eine Weile dauert.
Also habe ich mir gedacht, ich lass' das von einer VB-Anwendung auf dem Server machen.
Aber so, wie es aussieht, kosten diese VB-Bibliotheken ein bissel was.
Suche einfach weiter. Danke für Deinen Tipp "Aspose".
Gruß
Thomas -
Hallo Thomas,
Volltextsuche ist was anderes. Da gibt es einiges. Zwar auch nicht direkt in .NET aber ggfs. dennoch einen Blick wert.
http://technet.microsoft.com/de-de/library/dd183108(v=office.14).aspx
PDF kann man über einen entsprechenden iFilter dann auch indizieren. Die passenden iFilter gibts bspw. von Adobe, Foxit Software, ...
Wenn ein passender SQL Server vorhanden ist, bietet der auch eine Volltextsuche. Allerdings müsste man die Dateien dann wohl in die Datenbank importieren. Ob das mit FILESTREAM und Co. auch geht, weiß ich grad nicht.
Evtl. liegt dir Lucene.NET aber eher:
https://cwiki.apache.org/LUCENENET/guides-and-tutorials-from-around-the-web.html
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Donnerstag, 23. Mai 2013 18:54
- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 31. August 2013 17:53
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 28. Januar 2015 10:34
-
Hallo Stefan,
Volltextsuche im MS-SQL-Server ist mir klar, das will ich auch machen.
Aber eine erweiterte Suche im Windows-Dateisystem muss auch machbar sein.
Es gibt einen Dateiexplorer, der heißt "Total Commander". Das Ding muss nicht mal installiert werden, das ist ein Programm, das kopierst Du einfach irgendwohin und dann funktioniert es. Du kannst dann nach Dateien oder Verzeichnissen suchen, Du kannst aber auch IN Dateien suchen. Das Tool knackt alles, Word, Excel, Powerpoint, Access. Sogar *.exe-Dateien werden auf ihren Inhalt hin überprüft.
Und so eine Suche geht Ruckizucki, Du hast beinahe sofort das Ergebnis, das geht in Sekunden. Also MUSS es gehen!!!
Dass VB.NET, das Monster unter den Programmiersprachen, so etwas nicht packt, haut mich um.
Vielleicht sollte ich den Programmierer von "Total Commander" fragen, wie er das macht. Ich glaube aber nicht, dass er es mir sagen wird ... Betriebsgeheimnis :-)
Ich weiß nur, dass es funktioniert.
Werde weiter suchen.
Gruß
Thomas
-
Hallo Stefan,
Ich starte einen erneuten Anlauf, nur eine Idee:
Wäre es möglich, Office-Dateien binär auszulesen (mit VB) und den Binärcode in Dateiform abzuspeichern und anschließend den Binärcode wieder umzuwandeln, damit ich an meine heißgeliebten TXT-Dateien komme. Ich habe gesehen, die kommerziellen *.dlls sind sehr teuer.
Gruß
Thomas -
Hallo Thomas,
natürlich kann man sowas mit VB.NET machen. Aber es gibt eben nichts im .NET Framework, das dir diese Funktionalität bietet.
Selbst schreiben kann man das sicherlich. Die Frage ist eher, ob man das will.
Bzgl. Suche im Dateisystem wäre der Search Server doch das, was Du haben willst.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi.
Eine denkbare Variante wäre auch, sich unter http://www.ghisler.com/dplugins.htm einmal die Plugins für TextSearch herunterzuladen (bei denen angeblich ein Quellcode dabei sein soll). Je nachdem, welche Sprache das ist und wie er funktioniert, lässt sich das eine oder andere davon vielleicht auf VB.NET übertragen.
Nur eine Idee, *falls* man das mal versuchen wollte, selbst zu schreiben. :-)
LG, Dennis.
- Als Antwort vorgeschlagen Stefan FalzModerator Samstag, 31. August 2013 17:53
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 28. Januar 2015 10:35