Frage

Ich brauche, auf die Seiten eines Word-Dokuments zu bestimmen, die ein Schlüsselwort tritt auf. Ich habe einige Tools, die mir den Text des Dokuments bekommen, aber nichts, was mir die Seiten erzählt der Text tritt auf. Hat jemand einen guten Ausgangspunkt für mich? Ich verwende .NET

Danke!

edit: zusätzliche Einschränkung: Ich kann nicht von den Interop Sachen verwendet

.

edit2: Wenn jemand von stabilen Bibliotheken kennt, kann dies tun, dass auch hilfreich sein würde. Ich benutze Aspose, aber soweit ich weiß, dass nichts haben.

War es hilfreich?

Lösung

Dies ist, wie ich den Text aus, ich glaube, Sie setzen den Auswahlbereich auf eine Seite festlegen können, dann können Sie diesen Text testen, könnte ein wenig nach hinten von dem, was Sie brauchen, aber könnte ein Anfang sein.

Microsoft.Office.Interop.Word.Application wordApplication = new Microsoft.Office.Interop.Word.Application();
object missing = Type.Missing;
object fileName = @"c:\file.doc";
object objFalse = false;

wordApplication.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
Microsoft.Office.Interop.Word.Document doc = wordApplication.Documents.Open(ref fileName, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,ref objFalse, ref missing, ref missing, ref missing, ref missing);

//I belevie you can define a SelectionRange and insert here
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();

IDataObject data = Clipboard.GetDataObject();
string text = data.GetData(DataFormats.Text).ToString();

doc.Close(ref missing, ref missing, ref missing);
doc = null;

wordApplication.Quit(ref missing, ref missing, ref missing);
wordApplication = null;

Andere Tipps

Wie definieren Sie eine Seite?

Wenn Sie nur Abschnitt / Fest Seite bricht es kompliziert, aber machbar zählen. Wenn Sie weichen Seitenumbrüche die Aufgabe zählen wollen wird sehr sehr schwierig und etwas sinnlos. Bedenken Sie, dass die Bestimmung, wo Land Soft-Seitenumbrüche dynamisch zur Laufzeit erzeugt und in der Datei selbst nicht gespeichert. Es hängt von einer Vielzahl von Faktoren, einschließlich den aktiven Druckertreiber (ja, es kann auf einem anderen Computer für die gleiche Datei ändern), Schriften, Kerning, Zeilenabstand, Ränder, etc, etc, etc.

Ein beschissener Weg, dies mit Aspose zu tun ist, die Word-Datei in ein PDF zu konvertieren und dann Text auf jeder Seite greifen.

Ich weiß nichts über die Aspose Einbauten oder wie sie definieren ihre weichen Seiten bei der Konvertierung, aber das ist das Beste, was ich bisher bekommen habe.

Vielen Dank für die Verwendung von Aspose.Words.

In der öffentlichen API haben wir zur Zeit nur die „Flow-Dokument“ Informationen z.B. Absätze, Tabellen, Listen usw. Intern bauen wir ein Seitenlayout-Modell, das Klasse wie Seite, Textblock, Textzeile und so weiter hat. Es gibt interne Links natürlich zwischen dem Dokumentenmodell und dem Layout-Modell und es ist möglich, um herauszufinden, welche Seite endet, wo und all das Zeug. Macht diese Informationen über das öffentliche API ist (na ja, immer noch) ganz oben auf unserer Prioritätenliste.

Haben angemeldet Sie Ihre Anfrage in den Aspose.Words Support-Foren? Wir verwenden diese Informationen ein Voting-System zu erhalten und auf Funktionen arbeiten, die ersten mehr Stimmen zu bekommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top