LINUX.ORG.RU
ФорумTalks

[PDF] Есть 2страничный скан распонзнаный. Надо сделать по странице

 


0

1

Есть скан книжки, на каждой странице расположено 2 страницы (отсканирован разворот)

кроме того это все распознано (то есть текс выделяется и копируется)

Надо преобразовать в одностраничный pdf

Какие будут идеи? лучше сделать это без расторизации

★★★★

Если распознаны номера страниц, то логично разбивать по ним тем же sed хотя-бы.

Tark ★★
()
Ответ на: комментарий от namezys

А, если так. То я помню видел метод с вырезанием сначала левой потом правой стороны страницы и последующим склеиванием двух документов.

Tark ★★
()
Ответ на: комментарий от Tark

Это самое разумное и быстрое что приходит в голову.

Юзать gs, перед этим читать man

gnunixon ★★★
()
Ответ на: комментарий от namezys

>кто умеет резать pdf без расторизации?

gs

только маны там не из самых легких. А без них ты нифига не сможешь )

dikiy ★★☆☆☆
()
Ответ на: комментарий от namezys

>кто умеет резать pdf без расторизации?

скажем так, gs сможет распечатать с нужным разрешением, которые ты потом сможешь порезать.

dikiy ★★☆☆☆
()

расторизации

ростаризовать

melkor217 ★★★★★
()
Ответ на: комментарий от namezys

А тот же foxit pdf editor разве не подойдет для редактирования?

Tark ★★
()
Ответ на: комментарий от gnunixon

копировать это одно а тут надо трансформацию сделать. Не всегда это можно

namezys ★★★★
() автор топика

pdftk с этим не справится?

Кстати, ghostscript не сохранит текстовый слой. Но я кривые pdf'ки именно так резал. Перегонял в ppm, при помощи ImageMagic'а их делил пополам, а затем собирал все в djvu-файл.

#!/bin/bash
# скрипт для преобразования PDF с 2 страницами на страницу
# в чёрно-белый DjVu без полей
# использование: имяскрипта документ.pdf
# преобразовать в двух-цветные растры для каждой страницы
pdftoppm -r 600 $1 rawpage
# обработать все страницы
for p in `ls -1 rawpage-*.ppm`; do
# вырезать левую половину страницы: -gravity West -crop 50%x100% +repage
# отрезать все поля: -trim +repage
# добавить узкое белое поле: -bordercolor white -border 10
  convert $p \
    -gravity West -crop 50%x100% +repage \
    -trim +repage \
    -bordercolor white -border 10 left.pbm
# то же самое, но вырезать правую половину страницы
  convert $p \
    -gravity East -crop 50%x100% +repage \
    -trim +repage \
    -bordercolor white -border 10 right.pbm
# сделать чёрно-белый DjVu (для цветного использовать c44 вместо cjb2)
  cjb2 -dpi 600 left.pbm "$p-a.djvu"
  cjb2 -dpi 600 right.pbm "$p-b.djvu"
done
# собрать в единый DjVu
djvm -c "$1.djvu" rawpage-*.djvu

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Tark

Если там есть формулы, таблицы и т.п. сложная верстка, лучше текстовый слой вообще и не пытаться восстановить.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от namezys

вот еще вариант. Но не уверен, сохранит ли текст. Использует прогу poster:

#!/bin/bash
#script: unpnup
# This script reformats pdf files where two portait pages
# are joined on one landscape page (like pnup does). After
# completion each page is on one single fullframe page
# Copyright (c) 2007 F5 GmbH
# Author: Harald Hackenberg <hackenberggmx.at>
#
#programs required:
# pdftk, pdftops, poster, epstopdf
#
#
#
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version. See http://www.gnu.org/copyleft/gpl.html for
# the full text of the license.
if [ «$1» == «» ] || [ «$1» == "--help" ]; then
echo
echo «Usage: `basename $0` filename»
echo
else

mkdir tmp
cd tmp
pdftk «$1» burst
for file in pg*.pdf;
do
pdftops -eps $file
poster -v -pA4 -mA5 -c0% `basename $file .pdf`.eps > `basename $file .pdf`.tps
epstopdf `basename $file .pdf`.tps
done
pdftk pg*.pdf cat output ../`basename $1 .pdf`_unpnuped.pdf
rm *
cd ..
rmdir tmp
fi

dikiy ★★☆☆☆
()
Ответ на: комментарий от namezys

>читаем услови задачи еще раз: ростаризовать не надо, это не решние проблемы

тебе растеризация не приемлема именно из-за распознанного текста внутри?

dikiy ★★☆☆☆
()

есть еще перловка pdfcrop. Но она тоже через ghostscript работает.

dikiy ★★☆☆☆
()

pdfedit должен уметь.

ViTeX ★★★★
()
Ответ на: комментарий от namezys

>Да. iBook использует блоки внутри PDF для увелечения страниц

что такое iBook? И что ты имеешь в виду под увеличением страниц?

dikiy ★★☆☆☆
()

Немножко не то, но всё же...
Для обработки сканов использую ScanKromsator. Под wine работает. В этой программе можно двухстраничный скан разбить на одностраничный + всякие плюшки по типу выравниания текста, повышения контраста и т.д., затем можно с результатом делать, что душе угодно: распознатвать, упаковывать в djvu и т.д.
Опять же, расторизация похоже необходима...

Jurik_Phys ★★★★★
()
Ответ на: комментарий от dikiy

Когда 2 раза щелкаешь по странице, она увеличивается так, чтоб объект, по которому ты щелкнули стал размером во весь экрна, или, если он длинный, то по ширине экрана

namezys ★★★★
() автор топика
Ответ на: комментарий от namezys

>Когда 2 раза щелкаешь по странице, она увеличивается так, чтоб объект, по которому ты щелкнули стал размером во весь экрна, или, если он длинный, то по ширине экрана

1) а как он узнает областт, которую надо увеличить?

2) увеличение никак не зависит от того, распознан текст или нет.

dikiy ★★☆☆☆
()
Ответ на: комментарий от namezys

>Ну ты по ней щелкаешь.

так ты же щелкаешь по всей странице. Она и так а экране. Что оно увеличивает-то?

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

PDF это же не растр

Я говорю она распозна. Текст отдельно картинки отдельно

namezys ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.