Wie erfolgt die Verbindung gescannte Dokument mit Textinhalt durchsuchbar zu machen?

StackOverflow https://stackoverflow.com/questions/3912885

  •  29-09-2019
  •  | 
  •  

Frage

Ich habe PDF-Dokumente mehr Bilder / Seiten von gescannten Dokumenten. Ihr (OCR-produzierte) Textinhalt kommt in separaten XML-Dateien.

Ist es möglich, den Textinhalt von XML irgendwie meine PDF-Dateien zu verwenden / verknüpfen? (Im Idealfall würde es keine zusätzlichen Dateien im Repository links keine Kenntnis Benutzer zu verwirren.)

Wie ich gesagt habe es 65k Grenze auf einer Texteigenschaft, deshalb kann ich nicht einfach eine Eigenschaft auf dem setzt den Textinhalt in, wie die PDF leicht, diese Grenze überschreiten könnte.

Inhalt Eigenschaft meiner PDF-Datei:

Ein Vorschlag wurde ein Strom mit dem Textinhalt cm passieren gemacht. Ich bin irgendwie hier verloren, wie IMO das bedeutet, dass entweder ich einen Verweis Bereitstellung oder mir die Zuweisung wieder große String. Die erste würde den Textinhalt bedeuten muss irgendwo als separates Dokument aufbewahrt werden. Die später klingt wie würde ich traf die 65k Grenze wieder.
Auch ich denke, Einstellung cm: Inhalt würde wahrscheinlich die PDF-Inhalte selbst löschen. Ich brauche die PDF Binärdaten unangetastet zu bleiben.

Hier wird der Vorschlag diskutiert wird . Ich versuche zur Zeit, dass sowieso.

War es hilfreich?

Lösung 2

Eine andere Art und Weise zu erreichen, was muss ich würde MY_TEXT_CONTENT_PROPERTY mit content ...

werden Einstellung
ContentWriter writer = getContentService().getWriter(pdfNodeRef, MyModel.MY_TEXT_CONTENT_PROPERTY, true);
writer.setMimetype("text/plain");
writer.setEncoding("UTF-8");
writer.putContent(stringFromXmlDescription); // the source XML gets thrown away

(Wichtig scheint, den Inhalt zu setzen zu sein, nach der MIME-Typ und die Kodierung festgelegt werden. Andernfalls wird der Inhalt / Eigenschaft nicht durchsuchbar ist.)

Mit diesem Ansatz gibt es keine Notwendigkeit, die verknüpfte Textdokumente zu verstecken, gibt es nicht.

Andere Tipps

Soo, ist es eigentlich ganz einfach ... Was getan werden muss, ist eine Eigenschaft vom Typ definieren „d: Inhalt“ auf Ihrem Dokument; Ich, dass über einen Aspekt ...

model.xml:

<aspects>
    <aspect name="mm:my_aspect">
...
            <property name="mm:myTextContentProperty">
                <type>d:content</type>
            </property>
        </properties>
    </aspect>
</aspects>

Dann, als ich sowohl PDF und seine Textdarstellung im Repository haben, link ich die beiden durch den Aspekt hinzufügen und bevölkern die Eigenschaft ...

getNodeService().addAspect(pdfNodeRef, myAspect, null);
getNodeService().setProperty(pdfNodeRef, MyModel.MY_TEXT_CONTENT_PROPERTY, new ContentData("store://....bin", "text/plain", size, "UTF-8"));

Nun kann die PDF über beiden folgenden Abfragen auch gefunden werden, obwohl es keine Textdaten enthält ...

"@\\{http\\://mymodel.ns/content/1.0\\}myTextContentProperty:\"" + string + "\""
"TEXT:\"" + string + "\""

Die später auch hier , und ich denke, das ist, wie regelmäßige Suche in Alfresco Web Client funktioniert, weil jetzt die PDF erreichbar ist die regelmäßige Suche Eingabe.
Es gibt ein Problem, obwohl: die Suche spuckt das PDF-Dokument und das Dokument auch ich die Eigenschaft Link. So, jetzt muss ich die später aus den Suchergebnissen verstecken ...

(Bei Verwendung der erste Abfrage der Suche nur die PDF gefunden wird, wie erwartet,., Aber das Konzept ist von geringen Nutzen für mich)

Hoffentlich spart es einige Zeit, um andere Alfresco-Neulinge. :)

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