Come collegamento scansione del documento e il suo contenuto testo per renderlo ricercabile?

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

  •  29-09-2019
  •  | 
  •  

Domanda

Non ho i documenti PDF che contengono diverse immagini / pagine di documenti digitalizzati. Il loro (OCR-prodotto) il contenuto del testo è disponibile in file XML separati.

E 'possibile utilizzare / collegare il contenuto del testo da XML in qualche modo ai miei file PDF? (Idealmente ci sarebbe nessun file aggiuntivi lasciati nel repository per confondere gli utenti ignari.)

Per quanto mi è stato detto non c'è limite 65k su una proprietà di testo, quindi non posso semplicemente mettere il contenuto del testo in una proprietà sul, come il PDF potrebbe facilmente superare questo limite.

Un suggerimento è stato fatto passare un flusso con il contenuto del testo di cm: proprietà di contenuto del mio file PDF. Sono un po 'perso qui, come IMO che significa che o sto fornendo un riferimento o che sto assegnando nuovo enorme stringa. La prima significherebbe il contenuto del testo deve essere conservato da qualche parte in un documento separato. I suoni più tardi, come mi ha colpito di nuovo il limite di 65k.
Inoltre penso impostazione cm: il contenuto sarebbe probabilmente eliminare il contenuto PDF in sé. Ho bisogno dei dati PDF binari a rimanere intatto.

Questo è dove il suggerimento viene discussa . Attualmente sto cercando che in ogni modo.

È stato utile?

Soluzione 2

Un altro modo per ottenere quello che mi serve sarebbe installando MY_TEXT_CONTENT_PROPERTY utilizzando contentService ...

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

(cosa importante sembra essere quello di mettere il contenuto di dopo il tipo MIME e la codifica sono impostati. In caso contrario, il contenuto / proprietà non è ricercabile.)

Con questo approccio non c'è bisogno di nascondere i documenti di testo collegate, non ce ne sono.

Altri suggerimenti

Soo, è in realtà abbastanza semplice ... Che cosa deve essere fatto è quello di definire una proprietà di tipo "D: contenuti" nel documento; Lo faccio con un aspetto ...

model.xml:

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

Poi, quando ho sia PDF e la sua rappresentazione di testo nel repository, ho collegare quei due aggiungendo l'aspetto e popolando la proprietà ...

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

Ora il PDF può essere trovati tramite entrambe le seguenti domande, anche se non contiene i dati di testo ...

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

Il seguito è accennato anche qui , e credo che sia il modo di ricerca regolare Alfresco Web client funziona, perché ora il PDF è raggiungibile utilizzando l'ingresso di ricerca regolare.
C'è un problema però: la ricerca sputa il documento PDF e anche il documento che ho collegamento mediante la proprietà. Così ora ho bisogno di nascondere il più tardi dai risultati di ricerca ...

(Durante la ricerca utilizzando la prima query solo il PDF viene trovato, come previsto;., Ma questo approccio è di scarsa utilità per me)

Speriamo che consente di risparmiare un po 'di tempo per altri Alfresco-neofiti. :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top