eKsiążki
https://forum.eksiazki.org/

Konwersja pdf na epub
https://forum.eksiazki.org/software-i-hardware-f24/konwersja-pdf-na-epub-t14069.html
Strona 1 z 3

Autor:  pinokio1984 [ 15 gru 2013 20:31:33 ]
Tytuł:  Konwersja pdf na epub

Witam,jak w temacie prosiłbym o podanie najlepszego sposobu aby książkę dało się sprawnie czytać.obecnie używam programu calibre,ale nie do końca jestem zadowolony,może po prostu mam go źle skonfigurowanego?
a mianowicie po konwersji występują polskie litery ale tekst wygląda tak że jedna linia tekstu jest normalna,następna ma już tylko pół długości,a kolejna jest pusta.i tak w kółko.prosił bym o różne propozycje

Autor:  Cyfranek [ 15 gru 2013 22:47:39 ]
Tytuł:  Re: Konwersja pdf na epub

Hej!
Calibre nieźle powinien sobie poradzić jeśli ma dobrze przygotowany plik tekstowy (np. ODF). A dobre przygotowanie dokumentu to najpierw potraktowanie PDFa programem typu OCR a następnie mniej lub bardziej ręczne usunięcie wymuszonych zakończeń linii (enterów) i ogólne sformatowanie (nadanie stylów odpowiednim fragmentom jak tytuły i akapity).
U mnie to wygląda tak:
1. PDF-->OCR-->DOC;
2. DOC-->kilka godzin (ręcznej pracy)--->ODF;
3. ODF-->calibre-->MOBI/EPUB (czytanie bez zgrzytania zębów na błędy formatowania).

Autor:  Kirek50 [ 17 gru 2013 21:53:01 ]
Tytuł:  Re: Konwersja pdf na epub

Napisałem taki mikropradniczek chwilę temu, jest tutaj: calibre-f164/calibre-a-pdf-proste-rozwiazanie-t12242.html

Stosuję tę metodę przez cały czas, zadowolenie w górnej strefie stanów wysokich.
Pytajcie śmiało, podzielę się doświadczeniami.

Autor:  pinokio1984 [ 18 gru 2013 16:52:24 ]
Tytuł:  Re: Konwersja pdf na epub

witam,i dziękuję za zainteresowanie.

Cyfranek napisał(a):
Hej!

2. DOC-->kilka godzin (ręcznej pracy)--->ODF;


kurczę,to jak dla mnie zdecydowanie za długo żeby ręcznie tyle czasu poświęcic na jedną książkę,mimo iż pomysł dobry.



Kirek50 napisał(a):
Napisałem taki mikropradniczek chwilę temu...


o super,na pewno się przyda,zaraz go przejrzę.
dzięki za pomoc

Autor:  Cyfranek [ 18 gru 2013 17:51:36 ]
Tytuł:  Re: Konwersja pdf na epub

Kirek50 robi dokładnie to samo, co ja opisałem. Cały problem sprowadza się do oczyszczenia pliku tekstowego po konwersji z PDF. Czy jest to RTF, czy DOC nie ma specjalnego znaczenia. Ja akurat nie jestem w stanie zrobić np. sensownego makra, które rozpozna wstawiony w tekście elektronicznym numer strony (ze stopki strony papierowej) i go usunie, albo rozpozna, że wstawiony enter trzeba usunąć, bo akurat koniec linijki nie jest potrzebny.
Kirek50, czy mógłbyś napisać o jakich makrach przyspieszających redakcję RTFa myślałeś? Co one robią? Jak działają?

Autor:  pinokio1984 [ 18 gru 2013 19:20:34 ]
Tytuł:  Re: Konwersja pdf na epub

Kirek50 napisał(a):
Oczywiście męczące byłoby zamienianie za każdym razem "na piechotę", więc najlepiej zarejestrować sobie w Wordzie kilka makropoleceń z najczęściej koniecznymi poprawkami. Po uruchomieniu takiego makra otrzymujemy prawie idealny plik RTF, który konwertujemy do potrzebnego formatu w Calibre.



mógłbyś dokładnie opisać jak to robisz,bo nie mam zielonego pojęcia jak to się robi

Autor:  Kirek50 [ 18 gru 2013 20:05:43 ]
Tytuł:  Re: Konwersja pdf na epub

Makra w największym skrócie. Wczytujemy sobie do Worda "zanieczyszczony" tekst, w menu Narzędzia/Makro włączamy "Zarejestruj Makro", nadajemy nazwę, krótko sobie opisujemy i działamy. Podstawowa sprawa to skorzystanie z Edycja/Zamień. Klikamy w pole "Znajdź", na dole w "Specjalne" wybieramy np. łącznik nierozdzielający (podstawowa paskuda po OCR), pole "Zamień" zostawiamy puste i zatwierdzamy "Zamień wszystko" - w tym momencie wszystkie tego typu błędy znikają. Oczywiście nie musimy stosować tylko opcji umieszczonych w "Specjalnych", bo możemy zamienić dowolny znak na inny dowolny lub usunąć, gdy pole "Zamień" zostawimy puste, możemy w ten sposób zamieniać na pojedynczą podwójne i potrójne spacje itp. itd. Gdy już wyczerpiemy wszystkie pomysły i możliwości to kończymy rejestrację makro.
Następnym razem, gdy wczytamy "zanieczyszczony" tekst po OCR, sięgamy tylko do Narzędzia/Makro/Makra i wybieramy to, które nam akurat jest potrzebne. Oczywiście tych makr możemy stworzyć dowolną liczbę, według potrzeb.

Ważne: w Wordzie musimy mieć włączony widok wszystkich znaków, również niedrukowalnych.

Nie wiem czy to jasno napisałem, ale zawsze wujek Google pomoże :)
----------------------------------------------------------
Poniżej proste makro a właściwie dwa do podstawowego czyszczenia:

Sub Ksiazka1()
'
' Ksiazka1 Makro
' Do poprawiania na epub1
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^-"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ".^p^b"
.Replacement.Text = ".^p"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "?^p^b"
.Replacement.Text = "?^p"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "!^p^b"
.Replacement.Text = "!^p"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "-^p^b"
.Replacement.Text = "- "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = ",^p^b"
.Replacement.Text = ", "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "^p^b"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^l"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub Ksiazka2()
'
' Ksiazka2 Makro
' Z numeracją stron
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^-"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^l"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p^b"
.Replacement.Text = "^p"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Autor:  Kirek50 [ 18 gru 2013 20:22:16 ]
Tytuł:  Re: Konwersja pdf na epub

Cyfranek napisał(a):
nie jestem w stanie zrobić np. sensownego makra, które rozpozna wstawiony w tekście elektronicznym numer strony (ze stopki strony papierowej) i go usunie, albo rozpozna, że wstawiony enter trzeba usunąć, bo akurat koniec linijki nie jest potrzebny.


Jeżeli chodzi o PDF Convertera, o którym pisałem, to z reguły problemy te nie występują w pliku wynikowym, bo raczej nie wstawia niepotrzebnych enterów, a gdy są, to z reguły entery "twarde" (shift+enter), które usuwa mi makro. Zwykłe entery, które niepotrzebnie przełamują wiersz można sobie usunąć w opcji Edycja/Zamień taką kombinacją: w "Znajdź" dajesz spację i wybrany ze "Specjalnych" "znak akapitu", w "Zamień" tylko spację. Czasem jest to ręczny podział wiersza, co też można usunąć przy pomocy "Specjalnych".

Z numerami strony bywa różnie, bo mogą być też polem tekstowym - to dłuższy wywód. W największym skrócie - pól tekstowych można się pozbyć przerzucając tekst np. do Notepada++ i z powrotem do Worda.

Autor:  Cyfranek [ 19 gru 2013 10:41:10 ]
Tytuł:  Re: Konwersja pdf na epub

Piękne dzięki za odpowiedź. Potestuję przy najbliższej okazji :)
Ja jeszcze mam problem z dialogami, które mój program OCR zamienia często na listy wypunktowania (jak numerowanie). Czy z tym udało Ci się to jakoś automagicznie zwalczyć? Bo ja jedyną receptę jaką znalazłem to ręczne wyszukanie takiego "wypunktowania" i uruchomienie makro, które:
- usuwa formatowanie wypunktowania;
- skacze na początek linijki;
- wstawia myślnik i spację.
Ale mam problem jak wyszukać automatycznie takie miejsca...

Autor:  Khouri [ 19 gru 2013 13:14:16 ]
Tytuł:  Re: Konwersja pdf na epub

Cyfranek napisał(a):
Piękne dzięki za odpowiedź. Potestuję przy najbliższej okazji :)
Ja jeszcze mam problem z dialogami, które mój program OCR zamienia często na listy wypunktowania (jak numerowanie). Czy z tym udało Ci się to jakoś automagicznie zwalczyć? Bo ja jedyną receptę jaką znalazłem to ręczne wyszukanie takiego "wypunktowania" i uruchomienie makro, które:
- usuwa formatowanie wypunktowania;
- skacze na początek linijki;
- wstawia myślnik i spację.
Ale mam problem jak wyszukać automatycznie takie miejsca...



Listy wypunktowania można usunąć makrem "ActiveDocument.ConvertNumbersToText". Punktor zostaje zamieniony na tekst w całym dokumencie.

Autor:  Kirek50 [ 19 gru 2013 20:51:14 ]
Tytuł:  Re: Konwersja pdf na epub

Cyfranek napisał(a):
Ja jeszcze mam problem z dialogami, które mój program OCR zamienia często na listy wypunktowania (jak numerowanie). .


Z reguły są to pola tekstowe, więc trzeba przerzucić do Notepada++ (lub dowolnego innego tego typu edytora), tenże zamieni je znaki, znaki zamieniamy w Wordzie opcją "Zamień" na dowolne przeddialogowe np. tabulator-pauza-spacja.

Po edycji:
Zapomniałem dodać, że zamiany dokonać można także w Notepadzie++, bowiem ma taką opcję.

Autor:  SwFr [ 19 gru 2013 20:57:37 ]
Tytuł:  Re: Konwersja pdf na epub

Akurat tabulator nie jest najlepszym pomysłem.
Pauza 0150 (lub lepiej półpauza 0151) odstęp.
Wcięcie ustaw w "akapit\wcięcia\specjalne\pierwszy wiersz\parametr w pt

Autor:  Kirek50 [ 19 gru 2013 21:04:14 ]
Tytuł:  Re: Konwersja pdf na epub

Khouri napisał(a):
Listy wypunktowania można usunąć makrem "ActiveDocument.ConvertNumbersToText". Punktor zostaje zamieniony na tekst w całym dokumencie.


Hmmm... Sprawdziłem, bo nie znalem, ale wywala mi błąd następującej linii kodu: .Style = ActiveDocument.Styles("List Paragraph")
Możesz wrzucić swoje makro tutaj?

Autor:  Khouri [ 19 gru 2013 21:17:52 ]
Tytuł:  Re: Konwersja pdf na epub

Kirek50 napisał(a):
Khouri napisał(a):
Listy wypunktowania można usunąć makrem "ActiveDocument.ConvertNumbersToText". Punktor zostaje zamieniony na tekst w całym dokumencie.


Hmmm... Sprawdziłem, bo nie znalem, ale wywala mi błąd następującej linii kodu: .Style = ActiveDocument.Styles("List Paragraph")
Możesz wrzucić swoje makro tutaj?



Mając otwarty do edycji dokument w wordzie naciskasz alt+f11. W pole "Immediate" wklejasz polecenie
"ActiveDocument.ConvertNumbersToText" i naciskasz enter. Wracasz do dokumetu i wszystkie punktory powinny być już tekstem. U mnie działa to bezbłędnie.

Autor:  Khouri [ 19 gru 2013 21:31:20 ]
Tytuł:  Re: Konwersja pdf na epub

Kirek50 napisał(a):
Cyfranek napisał(a):
Ja jeszcze mam problem z dialogami, które mój program OCR zamienia często na listy wypunktowania (jak numerowanie). .


Z reguły są to pola tekstowe, więc trzeba przerzucić do Notepada++ (lub dowolnego innego tego typu edytora), tenże zamieni je znaki, znaki zamieniamy w Wordzie opcją "Zamień" na dowolne przeddialogowe np. tabulator-pauza-spacja.


Po konwersji w notatniku, wszystko zostanie zamienione na plain text więc moim zdaniem bez sensu - zostaną utracone wszystkie atrybuty tekstu (boldy, kursywa).

Strona 1 z 3 Wszystkie czasy w strefie UTC + 1 [czas letni (DST)]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/