![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Jr. Member
![]() Registriert seit: 20.01.2005
Alter: 46
Beiträge: 46
|
![]() HTML Word Cleaner
HAllo! Ich bräuchte bitte Hilfe, hab ein Office Word Dokument und da steht eine Menge unnötiger Sachen drin. (office HTML Filter 2.0 schon getestet - bringt aber nur 1%) Habe das tidy.sourceforge.net Tool HTMLTidy ausprobiert. Funkt zwar nicht schlecht aber sind zahlreiche Fehler und Schwierigkeiten mit .NET aufgekommen unter anderem das Registrieren mittels regsvr32.exe was auf meinem Server nicht möglich ist. Würde das jetzt gerne dynamisch mittels Programm reinigen lassen. Aber mein problem ist das ich kein Tool dazu finde, sollte Freeware sein und am besten im Visual Studio .NET mittels Com/dll einbindbar sein oder über Javascript und das über drüber wäre wäre wenn die dll nicht extra registriert werden müsste (mittels regsvr32.exe) Und dazu brauche ich Eure Hilfe! mfg, grafuzzi |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Was mir spontan einfallen würde
1.) "Lowtech" einfach danach per drag and drop durch tidy durchlaufen lassen 2.) "middletech" Mit VBA und dem DocumentBeforeSave Ereigniss zuerst Dokument als html speichern und dann tidy aufrufen. Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
#3 |
Jr. Member
![]() Registriert seit: 20.01.2005
Alter: 46
Beiträge: 46
|
![]() ok, ich glaube da gibt es noch was nachträglich zu erklären.
Ich habe ein Word html File und da nehme ich den HTML Code mittels Drag and Drop in einen TextBox. Dann rufe ich mit einem Button, nur zum Testen, meine JavaScript Funktion StartTidy() auf. StartTidy() { var tidy = new ActiveXObject("TidyCOM.TidyObject"); alert(tidy.TidyMemToMem(document.getElementById("H TMLBox").innerText)); } Das mache ich mittels Javascript damit ich die TidyCom.dll nicht registrieren muss (oder kann). Funktioniert zwar nicht schlecht aber wenn ich das jetzt mit ein paar Test"Docs" oder einem TestCode ausprobiere, bleibt das Tidy zum Beispiel bei einem Beistrich(schaut aus wie ein Beistrich) hängen oder bei zu viel Code bekomme ich gar nichts zurück. Trotzdem einmal ein Danke für die rasche Hilfe! |
![]() |
![]() |
![]() |
#4 | |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() Verwirrt ich bin. Wozu was registrieren???
Zitat:
http://int64.sourceforge.net/tidy.html Ansonsten: http://www.fourmilab.ch/webtools/demoroniser/ Demoronizer Perl script corrects Microsoft HTML Dreamweaver kann das HTML auch aufraeumen.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
|
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() P.S.: Bitte wo laeuft das JS? Am Server (ASP) oder im CLient (ARGL!)????
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
![]() |
![]() |
![]() |
#6 |
Jr. Member
![]() Registriert seit: 20.01.2005
Alter: 46
Beiträge: 46
|
![]() Mir nutzen leider keine Tools (Dreamweaver, doc2html, ...) etwas weil das ganze dynamisch eingesetzt werden soll und über IE funktionieren muss.
Das Registrieren der Dll macht normalerweise das VisualStudio von selbst aber da ich auf dem Server nichts registrieren darf fällt das weg. Jetzt rufe ich über ActiveXObject (Clientseitig) mittels JavaScript das TidyCom auf, jetzt bekommt der Benutzer nur eine ActiveX Abfrage (Ja/Nein) aber damit kann/könnte ich leben. Und zu den fertigen Dll -> Danke, aber ich programmiere in .NET auf C# |
![]() |
![]() |
![]() |
#7 |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() Ich frage nochmal: Wozu musst Du was am Server registrieren. So wie Du Dein Problem beschreibst, findet die Prüfung am CLient in einem ActiveX Control statt.
Was willst Du mit der Loesung ueberhaupt erreichen? Ev. koennte man das ja anders loesen.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
![]() |
![]() |
![]() |
#8 |
Jr. Member
![]() Registriert seit: 20.01.2005
Alter: 46
Beiträge: 46
|
![]() Was willst Du mit der Loesung ueberhaupt erreichen? Ev. koennte man das ja anders loesen.
Ich muss normalerweise alle verwendeten Dll Dateien über die References einbinden, wenn ich das mache muss die Dll aber in Windows (dann am Server) registriert sein. (-> sonst Fehlermeldung: clsid {324324523} is not valid or registrated) deshalb verwende ich ja die Lösung über den Client mit ActiveXControl Ziel der Aufgabe ist es bei der Eingabe von Texten und Grafiken für Redaktuere eines CMS eine "Erleichterung" des HTML Code zu erreichen. -> die Redakteure Verwenden Word und speichern dieses als HTML ab und kopieren diesen Code dann in das CMS. Jetzt hab ich die Aufgabe diesen Code "abzuspecken" und deshalb HTML Tidy |
![]() |
![]() |
![]() |
#9 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Dazu müsste es doch bessere Möglichkeiten geben.
Dein ActiveX Ansatz hat (mindestens) 3 Nachteile: 1.) Es geht nur mit dem IE. 2.) Es ist Clientbasiert. Der ganze Mist den Word reinschreibt wird also jedesmal mitübertragen und erst beim Client rausgefiltert und auch das nur falls dieser Tidy installiert hat (3.). 3.) HTML-Tidy muß beim User installiert sein. Oder versteh' ich bei 2.&3. etwas falsch (Kenn' mich mit ActiveX nicht aus)? Wenn du es Serverbasiert machst hast du immer noch den Nachteil, daß Tidy jedes Mal wenn eine Seite aufgerufen wird gestartet werden muß und damit Resourcen verbraucht. Ich würde beim CMS ansetzen. 1.) Vielleicht gibts eine Extension, die genau das macht was du willst (wenn das CMS nichts selbstgebasteltes ist). 2.) Das CMS so umbauen, daß Daten, bevor sie in die DB geschrieben werden, durch Tidy geschleust werden. 3.) Ein Skript schreiben, daß der Redakteur mit der html-Datei füttert und daß entweder den bereinigeten Code ausgibt oder ihn direkt in die Db schreibt (Aufpassen!). Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
#10 |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() Also wenn es nicht um 10.000 Updates in der Minute handelt, wuerde ich einfach den HTML-Code hochladen, in ein File schreiben und mit system() und tidy.exe saeubern.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|