Konwerter PDF do XML

0

Witam.
Chciałbym przekonwertować plik pdf na xml'a aby z niego wyciągnąć zawartość pdf'a (takie skanowanie dokumentów z pdf do programu) w C# WPF.
Czy ktoś mógłby mi podpowiedzieć jakie kontrolki zastosować aby konwersja była najlepsza?
Chodzi mi o to aby teksty wyciągnięte z kolejnych ramek były rozpoznawalne jako jeden napis a nie rozbite na poszczególne literki (gdy testowałem konwertery online to niektóre tak mi właśnie robiły).
Byłbym wdzięczny za pomoc.

0

Nie ma niezawodnego narzędzia tego rodzaju.
Przeznaczeniem PDF NIGDY nie było płynne przetwarzanie tekstu "logicznego", a jego układ wizualny.
Nie licz na to.
A jeszcze gotowy output w ładnym XML ... coś ty ....

rozdzielanie literek może mieć źródło w unikodzie, "zachodnie" oprogramowanie moze być nie do końca dotestowane do polskich klimatów.

Znam przypadki, ze dokumenty PDF z polskich "programów dla firmy" przy próbie CtrC wzięcia tekstu i wklejenia gdzieś CtlV , wklejają się literki z odstępami.

WojtexProgramista napisał(a):

jakie kontrolki zastosować

Myśl o kodzie który trzeba napisać / bibliotekach które można użyć, a nie kontrolkach. To mocno pachnie Delhi

0

Masz to wbudowane w PDF, tworzysz pola które wypełnia użytkownik elektronicznie, potem zaś za pomocą PDF wyciągasz wszystkie pola do XML i/lub na odwrót wstawiasz w pola zawartość XML'a

0

Za pomocą pdfsharp możesz odczytać tekst z pdfa. Poszukaj sobie gotowej funkcji gdzieś w internecie. Wygenerowanie XML to już prostsza robota

0
WojtexProgramista napisał(a):

Witam.
Chciałbym przekonwertować plik pdf na xml'a aby z niego wyciągnąć zawartość pdf'a (takie skanowanie dokumentów z pdf do programu) w C# WPF.
Czy ktoś mógłby mi podpowiedzieć jakie kontrolki zastosować aby konwersja była najlepsza?
Chodzi mi o to aby teksty wyciągnięte z kolejnych ramek były rozpoznawalne jako jeden napis a nie rozbite na poszczególne literki (gdy testowałem konwertery online to niektóre tak mi właśnie robiły).
Byłbym wdzięczny za pomoc.

No ale, nie da się tego zrobić, takiemu PDF'owi bliżej jest do obrazka wektorowego niż do pliku tekstowego. Tam się liczy rozlożenie wizualne różnych elementów. Nie możesz po prostu wziąć różnych literek i powiedzieć: "tak, te dwie listerki są częścią jednego słowa", a "te dwie tutaj to już inne słowo".

To co możesz zrobić, to wyciągnąć pozycje poszczególnych znaków i napisać algorytm heurytyczny, który spróbuje połączyć literki na podobnej wysokości w jedne słowa.

2
Riddle napisał(a):

Nle, nie da się tego zrobić, takiemu PDF'owi bliżej jest do obrazka wektorowego niż do pliku tekstowego. Tam się liczy rozlożenie wizualne różnych elementów. Nie możesz po prostu wziąć różnych literek i powiedzieć: "tak, te dwie listerki są częścią jednego słowa", a "te dwie tutaj to już inne słowo".

To co możesz zrobić, to wyciągnąć pozycje poszczególnych znaków i napisać algorytm heurytyczny, który spróbuje połączyć literki na podobnej wysokości w jedne słowa.

Bzdury, pdf ma operatory m.in. do tekstu. Można łatwo odczytać poszczególne wyrazy.

https://www.oreilly.com/library/view/developing-with-pdf/9781449327903/ch04.html

0

Moze latwiej bedzie to zrobic PDF -> SVG -> XML

tinywow.com / github.com/jorisschellekens/borb / Jaki efekt ?

0
donPietro napisał(a):

Moze latwiej bedzie to zrobic PDF -> SVG -> XML

tinywow.com / github.com/jorisschellekens/borb / Jaki efekt ?

Mniemam, że @WojtexProgramista miał na myśli jakiś "użyteczny" dla niego XML, by nie powiedzieć "semantyczny", bo "jakikolwiek XML" to łatwo wymyślić

<?xml version="1.0" encoding="UTF-8"?> <document>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</document>

Tyle, ze dokładnie NIC z tego nie wynika. Kross- konwersja przez SVG tez nie doda nic semantycznego, dalej będzie to opis graficzny (o ile będzie).

Ale autor wątku jest już missng in action ... Pominę, ze aby uzyskał swój wymarzony efekt, to tylko pod warunkiem jakiegoś cudu.

0

Jeśli to niemożliwe, dlaczego tak się zachowuje, czy może stać się cud?

0
OtisGibson napisał(a):

Jeśli to niemożliwe, dlaczego tak się zachowuje, czy może stać się cud?

Głos wewnętrzny się odezwał?
Co "dlaczego się zachowuje" ?
Jak nie ma jakiejś informacji, to tylko cud, albo szt../naturalna inteligencja może ją uzupełnić.

0

moja naturalna mądrość została na https://techupnew.com/fifa-chino

0

Jest taka biblioteka Tesseract i tak jej się używa: https://www.c-sharpcorner.com/article/ocr-using-tesseract-in-C-Sharp/

1 użytkowników online, w tym zalogowanych: 0, gości: 1