Zum Inhalt springen

OmniSeller:Einfuegen-Optionen: Unterschied zwischen den Versionen

Korrekturlauf Teil 2: Markup-Reste, abgebrochene Saetze und Doppelungen bereinigt
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 13: Zeile 13:
* '''OneNote''' und '''Notepad++''' (mit dem Plain-Text-Filter) liefern Plain-Text. Hier ist der Master-Schalter „Immer als reinen Text einfügen" praktisch.
* '''OneNote''' und '''Notepad++''' (mit dem Plain-Text-Filter) liefern Plain-Text. Hier ist der Master-Schalter „Immer als reinen Text einfügen" praktisch.
* '''PDF-Viewer''' liefern Text mit teils kuriosen Schriftgrößen oder gar keinen Absätzen — der Master-Schalter hilft hier ebenfalls.
* '''PDF-Viewer''' liefern Text mit teils kuriosen Schriftgrößen oder gar keinen Absätzen — der Master-Schalter hilft hier ebenfalls.
Mit den Einfügen-Optionen können Sie diese unterschiedlichen Quellen einheitlich behandeln, ohne den jeweiligen Quelltext umständlich erst über Notepad zu „waschen".
Mit den Einfügen-Optionen können Sie diese unterschiedlichen Quellen einheitlich behandeln, ohne den jeweiligen Quelltext umständlich erst über Notepad zu „waschen".


Zeile 21: Zeile 20:
# In der Gruppe '''Einfügen''' die Schaltfläche '''Einfügen-Optionen''' anklicken.
# In der Gruppe '''Einfügen''' die Schaltfläche '''Einfügen-Optionen''' anklicken.
# Der Dialog öffnet sich mittig auf dem Bildschirm.
# Der Dialog öffnet sich mittig auf dem Bildschirm.
Der Dialog ist ein eigenständiges Fenster — Sie können ihn neben den Editor schieben, in der Größe ändern oder schließen, ohne den Editor zu beeinflussen. Die Einstellungen wirken erst nach Klick auf '''Speichern''' und gelten dann für alle weiteren Einfüge-Vorgänge, auch in zukünftigen OmniSeller-Sitzungen.
Der Dialog ist ein eigenständiges Fenster — Sie können ihn neben den Editor schieben, in der Größe ändern oder schließen, ohne den Editor zu beeinflussen. Die Einstellungen wirken erst nach Klick auf '''Speichern''' und gelten dann für alle weiteren Einfüge-Vorgänge, auch in zukünftigen OmniSeller-Sitzungen.


Zeile 28: Zeile 26:
Beim Einfügen durchläuft der Text immer dieselbe Pipeline:
Beim Einfügen durchläuft der Text immer dieselbe Pipeline:


# '''Master-Prüfung''' — Ist „Immer als reinen Text einfügen" aktiv, springt OmniSeller direkt zu Schritt 4 (Plaintext). Alle anderen Optionen werden ignoriert.
# '''Master-Prüfung''' — Ist „Immer als reinen Text einfügen" aktiv, springt OmniSeller direkt zu Schritt 5 (Plaintext). Alle anderen Optionen werden ignoriert.
# '''HTML-Erkennung''' — Liegt HTML in der Zwischenablage und ist „HTML erkennen" aktiv, wird der HTML-Body extrahiert und nach Schritt 3 weitergegeben. Andernfalls weiter zu 2b.
# '''HTML-Erkennung''' — Liegt HTML in der Zwischenablage und ist „HTML erkennen" aktiv, wird der HTML-Body extrahiert und nach Schritt 4 weitergegeben. Andernfalls weiter zu Schritt 3.
# '''RTF-Erkennung''' — Liegt RTF in der Zwischenablage und ist „RTF erkennen" aktiv, wird das RTF intern in HTML konvertiert (Body-Fragment) und nach Schritt 3 weitergegeben. Andernfalls weiter zu Schritt 4.
# '''RTF-Erkennung''' — Liegt RTF in der Zwischenablage und ist „RTF erkennen" aktiv, wird das RTF intern in HTML konvertiert (Body-Fragment) und nach Schritt 4 weitergegeben. Andernfalls weiter zu Schritt 5.
# '''Sanitizer''' — Das HTML aus Schritt 2 oder 3 wird nach den Optionen aus den Gruppen Struktur, Inline-Formatierung, Schrift &amp; Farbe und Bilder gefiltert. Nicht gewünschte Tags werden entfernt oder „ausgepackt" (Inhalt bleibt, Tag verschwindet); nicht gewünschte CSS-Properties werden aus den <code>style</code>-Attributen entfernt. Anschließend wird der gesäuberte HTML-Schnipsel an der Cursor-Position eingefügt.
# '''Sanitizer''' — Das HTML aus Schritt 2 oder 3 wird nach den Optionen aus den Gruppen Struktur, Inline-Formatierung, Schrift &amp; Farbe und Bilder gefiltert. Nicht gewünschte Tags werden entfernt oder „ausgepackt" (Inhalt bleibt, Tag verschwindet); nicht gewünschte CSS-Properties werden aus den <code>style</code>-Attributen entfernt. Anschließend wird der gesäuberte HTML-Schnipsel an der Cursor-Position eingefügt.
# '''Plaintext-Fallback''' — Greift, wenn weder HTML noch RTF erkannt wurde oder „Immer als reinen Text einfügen" aktiv ist. Liest den UTF-Text der Zwischenablage und fügt ihn als reinen Text ein.
# '''Plaintext-Fallback''' — Greift, wenn weder HTML noch RTF erkannt wurde oder „Immer als reinen Text einfügen" aktiv ist. Liest den UTF-Text der Zwischenablage und fügt ihn als reinen Text ein.
Diese Reihenfolge ist fix und nicht konfigurierbar. Sie deckt den überwiegenden Anteil der Praxis-Fälle korrekt ab.
Diese Reihenfolge ist fix und nicht konfigurierbar. Sie deckt den überwiegenden Anteil der Praxis-Fälle korrekt ab.


Zeile 62: Zeile 59:
=== RTF erkennen ===
=== RTF erkennen ===


Wenn aktiv: OmniSeller liest das RTF-Format der Zwischenablage und konvertiert es intern nach HTML. Diese Option ist der zentrale Hebel für '''Sage 50 / Sage 100''' — diese Programme liefern formatierten Text ausschließlich als RTF; ohne diese Option würden Absätze, Listen, Auszeichnungen und Tabellen aus Sage komplett verloren gehen.
Wenn aktiv: OmniSeller liest das RTF-Format der Zwischenablage und konvertiert es intern nach HTML.


Weitere Quellen, die RTF liefern: WordPad, ältere E-Mail-Clients, einige ERP- und Warenwirtschaftssysteme.
Weitere Quellen, die RTF liefern: WordPad, ältere E-Mail-Clients, einige ERP- und Warenwirtschaftssysteme.
Zeile 134: Zeile 131:
Standard: '''an'''.
Standard: '''an'''.


''Hinweis:'' Da Hyperlinks im Editor i.&nbsp;d.&nbsp;R. unterstrichen dargestellt werden, wirkt diese Option faktisch nur auf '''nicht'''-verlinkte unterstrichene Texte aus der Quelle.
''Hinweis:'' Da Hyperlinks im Editor i.&nbsp;d.&nbsp;R. unterstrichen dargestellt werden, wirkt sich diese Option faktisch nur auf '''nicht'''-verlinkte unterstrichene Texte aus der Quelle.


=== Durchgestrichen ===
=== Durchgestrichen ===
Zeile 194: Zeile 191:
* Bilder aus '''Webseiten''' werden in der Regel nur als URL-Verweis übernommen, nicht als eingebetteter Bilddaten-Block. Wenn die Webseite das Bild nicht öffentlich erreichbar lässt (z.&nbsp;B. interne Intranet-Seite), erscheint im Editor und auf den Webportalen ein roter Platzhalter.
* Bilder aus '''Webseiten''' werden in der Regel nur als URL-Verweis übernommen, nicht als eingebetteter Bilddaten-Block. Wenn die Webseite das Bild nicht öffentlich erreichbar lässt (z.&nbsp;B. interne Intranet-Seite), erscheint im Editor und auf den Webportalen ein roter Platzhalter.
* Bilder aus '''Word''' werden meist als Base64-Datenblock eingebettet — diese funktionieren überall, vergrößern aber den Speicherbedarf des Artikeltextes spürbar.
* Bilder aus '''Word''' werden meist als Base64-Datenblock eingebettet — diese funktionieren überall, vergrößern aber den Speicherbedarf des Artikeltextes spürbar.
* Aus '''Sage''' kommen Bilder selten vor, weil Sage Artikel-Bildverwaltung getrennt vom Artikeltext führt.
Wenn Sie Bilder im Artikeltext brauchen, ist es '''empfehlenswert''', diese über die OmniSeller-Medienverwaltung einzupflegen, statt sie über den Paste-Weg „mitzuschleppen".


== Standard wiederherstellen ==
== Standard wiederherstellen ==
Zeile 204: Zeile 198:
{| class="wikitable"
{| class="wikitable"
! Option !! Standardwert
! Option !! Standardwert
|-
|-  
| Immer als reinen Text einfügen || aus
| Immer als reinen Text einfügen || aus
|-
|-  
| HTML erkennen || an
| HTML erkennen || an
|-
|-  
| RTF erkennen || an
| RTF erkennen || an
|-
|-  
| Listen || an
| Listen || an
|-
|-  
| Tabellen || an
| Tabellen || an
|-
|-  
| Hyperlinks || an
| Hyperlinks || an
|-
|-  
| Ausrichtung || an
| Ausrichtung || an
|-
|-  
| Fett || an
| Fett || an
|-
|-  
| Kursiv || an
| Kursiv || an
|-
|-  
| Unterstrichen || an
| Unterstrichen || an
|-
|-  
| Durchgestrichen || an
| Durchgestrichen || an
|-
|-  
| Schriftart übernehmen || aus
| Schriftart übernehmen || aus
|-
|-  
| Schriftgröße übernehmen || aus
| Schriftgröße übernehmen || aus
|-
|-  
| Schriftfarbe übernehmen || aus
| Schriftfarbe übernehmen || aus
|-
|-  
| Hintergrundfarbe übernehmen || aus
| Hintergrundfarbe übernehmen || aus
|-
|-  
| Bilder &amp; eingebettete Grafiken übernehmen || aus
| Bilder &amp; eingebettete Grafiken übernehmen || aus
|}
|}
Die Zurücksetzung wirkt erst nach Klick auf '''Speichern'''.
Die Zurücksetzung wirkt erst nach Klick auf '''Speichern'''.


== Hinweise zu einzelnen Quellen ==
== Hinweise zu einzelnen Quellen ==


=== Sage 50 / Sage 100 ===
Sage liefert Artikeltexte ausschließlich als RTF. Wenn Sie Text aus Sage einfügen und feststellen, dass die Formatierung verloren geht:
# Stellen Sie sicher, dass '''RTF erkennen''' aktiv ist.
# Stellen Sie sicher, dass '''Immer als reinen Text einfügen''' '''nicht''' aktiv ist.
# Falls die Einrückungen / Absätze trotzdem komisch aussehen: das liegt am internen RTF→HTML-Konverter, nicht an den Optionen. In sehr seltenen Fällen liefert Sage RTF mit ungewöhnlichen Konstruktionen, bei denen der Konverter den Text nicht 1:1 abbildet. Falls das systematisch auftritt, sprechen Sie das Support-Team mit einem Beispieltext an.
<br>
<br>
=== Microsoft Word ===
=== Microsoft Word ===


Zeile 277: Zeile 262:
PDFs liefern beim Kopieren oft Text mit ungewöhnlichen Zeilenumbrüchen oder gar nichts an Strukturen. Hier ist der Master-Schalter '''Immer als reinen Text einfügen''' eine sinnvolle Wahl, wenn Sie sehr häufig aus PDFs in den Editor kopieren.
PDFs liefern beim Kopieren oft Text mit ungewöhnlichen Zeilenumbrüchen oder gar nichts an Strukturen. Hier ist der Master-Schalter '''Immer als reinen Text einfügen''' eine sinnvolle Wahl, wenn Sie sehr häufig aus PDFs in den Editor kopieren.


=== ERP-/Warenwirtschaftssysteme (außer Sage) ===
=== ERP-/Warenwirtschaftssysteme ===
 
Andere Warenwirtschaftssysteme liefern in der Regel entweder HTML oder RTF — beides wird unterstützt. Falls keines der beiden Formate erkannt wird, fällt OmniSeller auf Plaintext zurück. Wenden Sie sich an den Support, falls eine bestimmte Quelle systematisch fehlschlägt.
 
== Häufige Fragen ==


=== Wirken die Optionen rückwirkend auf bereits eingefügte Texte? ===
Warenwirtschaftssysteme liefern in der Regel entweder HTML oder RTF — beides wird unterstützt. Falls keines der beiden Formate erkannt wird, fällt OmniSeller auf Plaintext zurück. Wenden Sie sich an den Support, falls eine bestimmte Quelle systematisch fehlschlägt.
 
Nein. Die Optionen wirken ausschließlich auf zukünftige Einfüge-Vorgänge. Bereits eingefügte Inhalte bleiben unverändert im Editor.
 
=== Wirken die Optionen auch beim Drag&amp;Drop? ===
 
Drag&amp;Drop von Text aus anderen Anwendungen läuft durch dieselbe Pipeline wie Strg+V, daher gelten die Optionen entsprechend.
 
=== Werden meine Einstellungen mitgeführt, wenn ich an einem anderen Rechner arbeite? ===
 
Nein, die Einstellungen liegen pro Arbeitsplatz im lokalen AppData-Verzeichnis. Wenn Sie an mehreren Rechnern arbeiten und überall dieselbe Konfiguration möchten, exportieren / importieren Sie die JSON-Datei manuell oder lassen Sie das Support-Team die Konfiguration über die zentrale Profilverwaltung ausrollen.
 
=== Was passiert, wenn ich die JSON-Datei lösche? ===
 
Beim nächsten Öffnen der Optionen oder beim nächsten Einfüge-Vorgang werden die Standardwerte verwendet. Die Datei wird erst beim erneuten „Speichern" wieder angelegt.
 
=== Was passiert, wenn die JSON-Datei kaputt ist (z.&nbsp;B. nach Festplatten-Defekt)? ===
 
OmniSeller fängt fehlerhaften JSON-Inhalt ab und nutzt die Standardwerte, ohne abzustürzen. Sie sollten die Datei dann beim nächsten „Speichern" überschreiben lassen.
 
=== Kann ich verschiedene Profile (z.&nbsp;B. „Sage-Modus" und „Word-Modus") speichern? ===
 
Aktuell nicht. Es gibt genau eine aktive Konfiguration pro Benutzer. Wenn Sie zwischen Profilen wechseln müssen, sprechen Sie das Support-Team an — dieser Use-Case kann ggf. in einer kommenden Version berücksichtigt werden.
 
=== Bricht der HTML-/RTF-Pfad mein bestehendes Plaintext-Verhalten? ===
 
Nein. Der Plaintext-Fallback bleibt erhalten und greift, sobald weder HTML noch RTF in der Zwischenablage liegen — oder beide Erkennungen abgeschaltet sind.


== Troubleshooting ==
== Troubleshooting ==
Zeile 341: Zeile 296:


Erwartet: '''Hintergrundfarbe übernehmen''' ist standardmäßig '''aus''', daher werden auch Tabellen-Zellen-Hintergründe (sowohl <code>style="background-color"</code> als auch das alte <code>bgcolor=""</code>) entfernt. Wenn die Hintergrundfarben erhalten bleiben sollen, diese Option einschalten.
Erwartet: '''Hintergrundfarbe übernehmen''' ist standardmäßig '''aus''', daher werden auch Tabellen-Zellen-Hintergründe (sowohl <code>style="background-color"</code> als auch das alte <code>bgcolor=""</code>) entfernt. Wenn die Hintergrundfarben erhalten bleiben sollen, diese Option einschalten.
== Technische Details ==
Für Power-User und Support-Mitarbeiter:
* Der Sanitizer arbeitet rein '''regex-basiert''' auf dem HTML-Fragment. Es wird kein DOM aufgebaut. Das hält die Verarbeitung schnell und unabhängig von externen HTML-Bibliotheken.
* CSS-Properties werden mit '''Wortgrenzen-Erkennung''' gestrippt: Ein Stripper für <code>color</code> trifft '''nicht''' <code>background-color</code>; ein Stripper für <code>background</code> trifft sehr wohl <code>background-color</code> (Shorthand und Long-form werden gemeinsam entfernt).
* Der RTF-Konverter ist die Open-Source-Bibliothek „Itenso RTF Converter", die mit OmniSeller mitgeliefert wird. Sie liefert ein vollständiges HTML-Dokument zurück, aus dem OmniSeller ausschließlich den <code><nowiki><body></nowiki></code>-Inhalt verwendet.
* Die JSON-Datei verwendet die Standard-Newtonsoft.Json-Serialisierung; die Property-Namen entsprechen den C#-Property-Namen. Manuelles Editieren der JSON-Datei ist möglich, aber nicht empfohlen — der Dialog bietet alle Optionen sicher an.
* Der Dialog ist ein '''WebView2'''-basiertes Fenster mit derselben Diagnose-Logik wie z.&nbsp;B. das Bezeichnungen-Fenster im AttributeSet-Bereich. Bei WebView2-Initialisierungsproblemen wird automatisch ein Recovery-Verzeichnis angelegt und die Diagnose-Information in eine Logdatei unter <code>%LocalAppData%\OmniSeller\WebView2\PasteOptions\Logs</code> geschrieben.


== Siehe auch ==
== Siehe auch ==
Zeile 356: Zeile 301:
* [[OmniSeller:Texteditor]] — der OmniSeller-Texteditor allgemein, in dem die Einfügen-Optionen wirken.
* [[OmniSeller:Texteditor]] — der OmniSeller-Texteditor allgemein, in dem die Einfügen-Optionen wirken.
* [[OmniSeller:Hauptseite]] — Einstiegspunkt der Wiki-Dokumentation.
* [[OmniSeller:Hauptseite]] — Einstiegspunkt der Wiki-Dokumentation.
[[Kategorie:OmniSeller]]
[[Kategorie:OmniSeller]]
[[Kategorie:Texteditor]]
[[Kategorie:Texteditor]]