1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-pdfedit

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README
**Инструмент Doxygen**

Очевидно, что Doxygen должен быть установлен. Эта документация не создаётся и не устанавливается по умолчанию, и вы должны явно включить её с помощью параметра *--enable-doxygen-doc* в команде *./configure*.

Результирующая документация помещается в каталог *DOC_PATH/doxygen* (*DOC_PATH* — это *PREFIX/share/doc/pdfedit*). Это настоятельно рекомендуется для пакета *pdfedit-core-dev*, который выполняется дистрибьюторами.

**Руководство пользователя**

Руководство пользователя представляет собой HTML-страницы, описывающие использование *PDFedit*. Эта документация также не создаётся по умолчанию, и вам необходимо включить её с помощью параметра конфигурации *--enable-user-manual*. Мы используем формат *DocBook* на основе *XML*, поэтому у вас должны быть установлены *docbook xsl* и *xsltproc*. Результирующая документация размещается в каталоге *DOC_PATH/manual*.

**Расширенная документация**

Это проектная документация, которая описывает внутренние структуры данных, алгоритмы и взаимосвязи с точки зрения программиста. Она полезна, если вы хотите разработать *PDFedit* или стороннее приложение на его основе. Эта документация также не создаётся по умолчанию, и её необходимо включить с помощью параметра конфигурации *--enable-advanced-doc*. Мы используем формат *DocBook* на основе *XML*, поэтому у вас должны быть установлены *docbook xsl* и *xsltproc*. Результирующая документация находится в каталоге *DOC_PATH/design*.

**Конфигурация**

Запустите:

*./configure [параметры]*

Примечание для тех, кто использует источники из *CVS*: *configure* больше не является частью дерева *CVS*! Вы должны создать его. Это можно сделать просто с помощью команды *$ autoconf* в корне извлечённого проекта. Обратите внимание, что на вашем компьютере должен быть установлен пакет *autoconf*.

Простой запуск без каких-либо параметров приводит к конфигурации по умолчанию, где приложение компилируется в режиме выпуска (оптимизации включены, отладочная информация отсутствует, предупреждения компиляции устранены), графический интерфейс включён, генерируется документация *Doxygen*, тесты ядра (*src/kernel/tests*) не компилируются, и приложение будет установлено в каталог /usr/local/pdfedit.

Конфигурация также включает компиляцию и установку в так называемый пакет *pdfedit-core-dev*, который подготавливает все библиотеки и заголовочные файлы для сторонних приложений, которые хотят повторно использовать основную функциональность (*pdfedit kernel*) (подробнее см. в разделе «Пакет разработки *Pdfedit*» ниже). По умолчанию это не делается, и вы должны включить это явно с помощью параметра конфигурации *--enable-pdfedit-dev-core*.

Обратите внимание, что пакет разработки и графический интерфейс могут быть объединены вместе, но также может быть создан отдельный пакет разработки путём отключения графического интерфейса (см. ниже). Установка *pdfedit-dev-core* поставляется со сценарием *pdfedit-core-dev-config*, который может использоваться сторонним кодом для настройки своего приложения, чтобы правильно установить флаги компилятора, пути включения, библиотеки и т. д.

**Функции конфигурации**

Вы можете изменить это поведение с помощью следующих параметров (функция используется, если используется параметр *--enable-*, напротив, *--disable-* отключает эту функцию — например, если имя функции *stack-protector* => *—enable-stack-protector* использует эту функцию):

*-stack-protector* — добавляет параметр защиты стека к флагам компиляции. Отключено по умолчанию, поскольку не все компиляторы поддерживают эту функцию (*gcc > 4.1* поддерживает её).

*-release* — управляет флагами компиляции для режима выпуска (отладка не требуется). Используется по умолчанию. Это означает, что оптимизации включены, а отладочная информация не включена в результирующий двоичный файл. Если вам нужно отладить или выполнить некоторую разработку, настоятельно рекомендуется *—disable-release*.

*-debug-info* — если используется *—enable-release*, и вам всё ещё нужна отладочная информация (например, когда приложение аварийно завершает работу, чтобы иметь разумные трассировки стека), используйте *—enable-debug-info*. Этот параметр будет проигнорирован, если используется *—disable-release*.

*-observer-debug* — только для разработчиков. Отключён по умолчанию. Если он включён, в код ядра добавляется дополнительная отладочная информация, позволяющая отлаживать наблюдателей. **based code**

-gui - Создаёт графический интерфейс пользователя для PDFedit (бинарный файл pdfedit). Включён по умолчанию. Если используется параметр --disable-gui, графический интерфейс не создаётся.

-kernel-tests - Компилирует все тесты ядра (в src/kernel/tests). Отключён по умолчанию и предназначен только для разработчиков и тестировщиков. Обратите внимание, что для этого на вашей системе должен быть установлен CPPUNIT.

-tools - Компилирует все инструменты, доступные в src/tools. Отключён по умолчанию и предназначен для тех, кто интересуется простыми примерами использования библиотеки pdfedit-core-dev, а также для тех, кому нужны простые инструменты для работы с PDF-файлами и их анализа, но кто не хочет использовать графический интерфейс или скрипты (pdf_to_text, flattener, delinerizator, pdf_object_comparer и т. д.). Обратите внимание, что вам также потребуется опция --enable-pdfedit-core-dev для инструментов.

-doxygen-doc - Также генерирует документацию doxygen, полезную для программистов. Отключен по умолчанию. Обратите внимание, что для этой функции необходимо установить doxygen.

-user-manual - Также генерирует документацию по руководству пользователя docbook. Отключен по умолчанию. Обратите внимание, что для этой функции необходимы docbook и его предварительные условия.

-advanced-doc - Также генерирует документацию по дизайну docbook. Отключен по умолчанию. Обратите внимание, что для этой функции необходимы docbook и его предварительные условия.

-pdfedit-core-dev - Генерирует библиотеки, необходимые для сторонних приложений, которые хотят использовать ядро pdfedit. Кроме того, команда make install также установит файлы заголовков, библиотеки и вспомогательный скрипт pdfedit-core-dev-config (см. каталоги установки ниже). Эта опция отключена по умолчанию.

-portability-flags - Добавляет флаги компилятора, которые обеспечивают стандарт c99/c++98 и переносимость posix/ansi. Эта опция включена по умолчанию.

Процесс настройки по умолчанию проверит количество процессоров/ядер и использует это значение для распараллеливания задач make (каждый make будет использовать разные CPU/ядра). Вы можете изменить это поведение с помощью параметра --with-parallel-make=VALUE, где VALUE — одно из следующих значений:

- auto (по умолчанию) — (в Linux — проверяет /proc/cpuinfo и использует количество ядер процессора для количества параллельных заданий make).
- off — без распараллеливания.
- number — количество параллельных заданий make (ожидается положительное число).
Поведение по умолчанию (без необходимости в параметре --with-parallel-make) должно быть нормальным практически во всех ситуациях (с преимуществом более короткого времени сборки), однако если у вас есть особые требования, когда вы не хотите/не можете использовать все свои процессоры/ядра для компиляции, вы можете использовать либо опцию off, либо точное количество параллельных задач.

**Спецификация библиотек и двоичных файлов**
Вы также можете контролировать пути поиска для необходимых библиотек и двоичных файлов:

- Библиотека шрифтов Freetype2
./configure --with-ft-prefix=PATH_TO_YOUR_FREETYPE2
соответственно (для T1).

- Библиотека шрифтов T1
./configure --with-t1-includes=PATH_TO_YOUR_T1_HEADERS --with-t1-library=PATH_TO_YOUR_T1_LIB

- CPPUnit
./configure  --with-cppunit-prefix=PATH_TO_YOUR_CPPUNIT

- Boost
./configure --with-boost=YOUR_BOOST_INSTALLATION_PATH --with-boost-libdir=YOUR_BOOST_LIB_PATH

- qmake ищется в $QTDIR/bin, /usr/bin, /usr/local/bin, /usr/lib/qt3/bin и в каталогах в $PATH. Если у вас установлен qmake в другом каталоге, используйте:
./configure --with-qmake=QMAKE_BINARY_WITH_PATH

- QT поставляется с бинарным файлом lrelease, который используется для перевода файлов данных локализации. Этот двоичный файл ищется в $QTDIR/bin, /usr/bin, /usr/local/bin, /usr/lib/qt3/bin и в каталогах в $PATH.
Если он не найден в вашей системе, пожалуйста, используйте
./configure --with-lrelease-bin=LRELEASE_BINARY_WITH_PATH

- doxygen ищется в /usr/bin , /usr/local/bin и текущих каталогах PATH. Если у вас doxygen установлен в другом каталоге, используйте:
./configure --with-doxygen=DOXYGEN_BINARY_WITH_PATH

- xsltproc ищется в /usr/bin , /usr/local/bin и текущих каталогах PATH. **Другие каталоги**

Используйте:
    ./configure --with-xsltproc=XSLTPROC_BINARY_WITH_PATH

Файлы XSLT DocBook необходимы для корректной генерации вывода из файлов XML DocBook с помощью xsltproc. Существует множество мест, где можно найти эти файлы. Поскольку многие системы используют разные каталоги и нет общего способа обнаружения, мы используем файл doc/tools/docbook_xslt_paths для определения всех возможных каталогов, которые ищутся. Если вы уверены, что установили пакет с этим файлом (обычно хранится в ...html/dobook.xsl), добавьте его абсолютный путь в этот файл (каждый каталог должен быть на отдельной строке и может использовать подстановочные знаки). Если вы сообщите об отсутствии каталога для вашей платформы, мы можем добавить его в следующем выпуске.

Дополнительную информацию об этих параметрах см. в ./configure —help.

**Каталоги установки**

По умолчанию все файлы устанавливаются в подкаталог /usr/local (двоичный файл — в /usr/local/bin, конфигурационные файлы — в /usr/local/share/pdfedit и т. д.). Это местоположение можно изменить с помощью параметра --prefix для configure (PREFIX далее).

Расположение двоичного файла PDFedit можно контролировать с помощью --exec-prefix (EPREFIX далее), и он хранится в EPREFIX/bin. По умолчанию EPREFIX совпадает с PREFIX.

Файлы документации копируются в PREFIX/share/pdfedit/doc, конфигурационные файлы и скрипты — в PREFIX/share/pdfedit, а страница руководства — в PREFIX/share/man/man1.

Если настроен pdfedit-core-dev, все соответствующие заголовочные файлы копируются в INCLUDEDIR/pdfedit-version (по умолчанию INCLUDEDIR=PREFIX/include), статические библиотеки — в LIBDIR/pdfedit-version (LIBDIR=EPREFIX/lib по умолчанию), а скрипт pdfedit-core-dev-config копируется в путь к двоичному файлу, как описано для двоичного файла PDFedit.

Если вам нужно изменить корень установки (например, если вы упаковщик и хотите создать пакет или использовать среду chrooted), используйте
    --with-root-dir=YOUR_INSTALLATION_ROOT_DIR
Всё будет установлено с полной структурой каталогов относительно этого каталога вместо реального корневого каталога (конечно, используя правильные PREFIX и EPREFIX). Обратите внимание, что вы не можете просто выполнить PDFedit из этого каталога сразу, так как файлы должны присутствовать в реальном корневом каталоге, чтобы редактор функционировал должным образом.
Если вы хотите просто переместить установку в другое место (например, в свой домашний каталог), используйте для этого параметр --prefix.

Каталоги установки для определённых частей (двоичных файлов, документации, конфигурационных файлов) также можно контролировать с помощью параметров настройки.
    --bindir управляет каталогом, куда копируется двоичный файл pdfedit
    --libdir управляет каталогом, куда устанавливаются библиотеки pdfedit-core-dev
    --includedir управляет каталогом, куда устанавливаются заголовочные файлы pdfedit-core-dev
    --docdir управляет каталогом, куда копируется документация
    --mandir управляет каталогом, куда копируется страница руководства. Обратите внимание, что мы предоставляем только man 1 pdfedit, поэтому страница руководства фактически копируется в подкаталог man1 указанного.
    --datadir управляет каталогом, где хранятся конфигурационные файлы (фактически файлы хранятся в подкаталоге имени пакета pdfedit)

Вы можете использовать следующие переменные, если хотите настроить указанные выше каталоги:
    prefix — значение, установленное как --prefix (обычно /usr/local)
    exec_prefix — значение, заданное как --exec_prefix (обычно совпадает с PREFIX)
    datarootdir — корневой каталог для всех данных pdfedit (обычно PREFIX/share)
    version — текущая версия
    package_name — имя установленного пакета

Пример одновременной установки нескольких версий:
    # Обратите внимание, что здесь необходимы кавычки, потому что bash (и некоторые другие оболочки тоже) будет запускать подоболочку для $(expression) иначе
    # Также обратите внимание, что страница руководства будет перезаписываться каждой установкой.
    ./configure --bindir='$(exec_prefix)/$(package_name)-$(version)' \
        --docdir='$(datarootdir)/doc/$(package_name)-$(version)' \
        --datadir='$(datarootdir)/$(package_name)-$(version)'


**Компиляция**

После настройки **Успешное завершение**

Запустите «make» в этом каталоге, чтобы начать компиляцию (обратите внимание, что предпочтительнее использовать GNU make, поскольку мы используем некоторые функции GNU make, которые могут быть недоступны в других реализациях make).

Если вам нужно (по какой-либо причине) изменить или явно указать другой компилятор, отличный от используемого по умолчанию, вы можете сделать это на этапе настройки, передав свой компилятор в качестве параметров конфигурации CC и CXX. Первый используется для файлов c, а второй — для файлов C++.

Допустим, у нас есть gcc версии 4.2 по умолчанию и мы хотим скомпилировать с помощью новейшего gcc 4.3. Тогда вам следует сделать следующее (имя бинарного файла компилятора может различаться в разных системах — этот вариант для Debian):
    ./configure CC=gcc-4.3 CXX=g++-4.3

Обратите внимание, что CFLAGS и CXXFLAGS, которые можно стандартно передать в configure, игнорируются нашим скриптом настройки.

Однако вы можете повлиять на параметры компилятора с помощью следующих переменных:
    - ARCH для специфических параметров архитектуры;
    - C_EXTRA для флагов CC (-fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing будут использоваться, если не определены);
    - CXX_EXTRA для флагов CXX (-fmessage-length=0 -D_FORTIFY_SOURCE=2 -fno-strict-aliasing -fexceptions будут использоваться, если не определены);
    - EXTRA_UTILS_CFLAGS, EXTRA_KERNEL_CFLAGS, EXTRA_TESTS_CFLAGS, EXTRA_XPDF_CFLAGS используются для флагов CC для каталогов utils, kernel, tests соответственно (только для внутреннего использования разработчиками);
    - EXTRA_UTILS_CXXFLAGS, EXTRA_KERNEL_CXXFLAGS, EXTRA_TESTS_CXXFLAGS, EXTRA_GUI_CXXFLAGS, EXTRA_XPDF_CXXFLAGS аналогично предыдущему для CXX.

**Установка**
Чтобы установить редактор, запустите
  make install

Обратите внимание, что все файлы будут установлены в соответствии с определённым префиксом, и если для настройки был указан --with-root-dir, то префикс будет относиться к указанному корню.

**Сборка Cygwin**
В PATH в Cygwin должны быть следующие три каталога:
/bin (здесь находится большинство необходимых исполняемых файлов);
/usr/X11R6/bin (некоторые библиотеки находятся здесь);
/usr/lib/qt3/bin (qmake должен быть в PATH).

Вы можете использовать cygwin_build.bat, чтобы запустить процесс сборки (сначала вам нужно установить CYGWIN_ROOT в файле). Это создаст пакет в /tmp/pdfedit-package и создаст pack.bat для упаковки пакета с помощью 7-zip.

Обратите внимание, что мы получили сообщения о том, что PDFedit не компилируется под некоторыми выпусками Cygwin. Проблема оказалась связана с реализацией стандарта C++ относительно некоторых определений функций (например, mkstemp) в Cygwin.
Единственное разумное решение — отключить переносимость и флаги компилятора стандартов C/C++. Пожалуйста, используйте --enable-portability-flags=no, если вы столкнулись с этими проблемами.

**FreeBSD build**
Вот краткое руководство по компиляции и установке PDFedit на FreeBSD 6.2 (Qt 3.38, Xorg 7.2). Спасибо Хао Чену.

# распакуйте текущие исходные коды (это было сделано для версии 0.3.1)
tar zxvf pdfedit-0.3.1.tar.bz2
cd pdfedit-0.3.1
setenv QTDIR /usr/local
setenv QMAKESPEC /usr/local/share/qt/mkspecs/freebsd-g++
setenv LOCALBASE /usr/local
./configure  --with-t1-library="${LOCALBASE}/lib" \
    --with-t1-includes="${LOCALBASE}/include"

Убедитесь, что вы видите это:
# проверка наличия T1_InitLib в -lt1... да
# использование библиотеки t1

Наши make-файлы используют некоторые расширения GNU make, поэтому рекомендуется использовать gmake!

**NetBSD installation**
Пакет для NetBSD доступен по адресу http://pkgsrc.se/wip/pdfedit.

**Debian package**
На данный момент пакет для Debian находится в стадии тестирования. См. http://packages.debian.org/unstable/utils/pdfedit.

Пакет для Ubuntu можно найти по адресу http://packages.ubuntu.com/gutsy/utils/pdfedit.

А если вы хотите создать deb-пакет самостоятельно, Эрик Довяк (спасибо за это руководство) предлагает:

Сначала установите пакеты, необходимые для сборки PDF Editor.

# apt-get install dh-make libboost-dev

Затем загрузите архив из Sourceforge и извлеките файлы:

$ tar -zxf pdfedit_0.4.1.tar.gz

Далее перейдите в каталог pdfedit-0.4.1/ и запустите dh_make

$ cd pdfedit-0.4.1/
$ dh_make --createorig

Выберите создание пакета исходного кода. **Установка пакета pdfedit**

**Одиночный бинарный файл**
После запуска dh_make откройте файл pdfedit-0.4.1/debian/rules и закомментируйте строку 48:

# $(MAKE) distclean

Затем запустите:

$ export QTDIR=/usr/share/qt3
$ dpkg-buildpackage

Это создаст пакет DEB, который можно установить с помощью:

# dpkg -i pdfedit_0.4.1-1_i386.deb

**Дистрибутивы на основе RPM**
=================
* OpenSUSE предоставляет пакет через репозиторий Packman (http://ftp.skynet.be/pub/packman/suse/10.3/). Доступ к службе сборки — https://build.opensuse.org/package/show?package=pdfedit&project=KDE%3AKDE3.
* Пакет для Mandriva можно получить по адресу http://rpmlinux.org.

**Пакет Gentoo**
==============
Пакет доступен в оверлейном репозитории sunrise, доступ к которому можно получить следующим образом:

emerge -va layman
echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf
layman -f -a sunrise

Установка pdfedit выполняется с помощью команды:
ACCEPT_KEYWORDS=~x86 emerge -av pdfedit

**Altlinux 64b**
============
В Altlinux библиотеки boost хранятся в каталоге /usr/lib64. Этот каталог не ищется по умолчанию. Поэтому необходимо вручную задать путь к библиотеке с помощью --with-boost-libdir=/usr/lib64.

**Разрабатываемый пакет PDFedit**
=====================
Основные функции PDFedit (без графического интерфейса) могут быть повторно использованы сторонними приложениями. Для этой цели мы предоставили отдельные параметры конфигурации и цели установки, как описано выше.
Если вы хотите использовать этот пакет, выполните следующие шаги:
* Установите пакет pdfedit-core-dev (либо из дистрибутива, если он доступен, либо из источников, как описано выше).
* Есть два способа правильно настроить флаги компилятора и компоновщика для правильной компиляции вашего приложения.
  - Ручной способ с использованием Makefile. Вы должны использовать скрипт EPREFIX/pdfedit-core-dev-config, например, таким образом в Makefile:
    CXXFLAGS = $(shell pdfedit-core-dev-config --cflags)
    LDFLAGS = $(shell pdfedit-core-dev-config --libs)

  - Способ с использованием autoconf. Исходный пакет pdfedit поставляется с макросом config/pdfedit-core-dev.m4 autoconf, который экспортирует макрос AX_PDFEDIT_CORE_DEV. Просто вызовите его и используйте экспортированные переменные PDFEDIT_CORE_DEV_CPPFLAGS и PDFEDIT_CODE_DEV_LDFLAGS в вашем Makefile. Подробнее о возможных параметрах читайте непосредственно в файле.
* Обновите свои источники, которые используют pdfedit-core-dev:
   - Инициализируйте библиотеку с помощью:
if(pdfedit_core_dev_init())
{
    // Fatal error in initialization
    exit();
}
перед тем, как вызывать любой код, связанный с PDFedit.
 - Очистите библиотеку в конце, когда pdfedit-core-dev больше не используется:
pdfedit_core_dev_destroy();
[См. документацию doxygen для этих функций для получения дополнительной информации].

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
C++ и 6 других языков
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-pdfedit.git
git@api.gitlife.ru:oschina-mirror/mirrors-pdfedit.git
oschina-mirror
mirrors-pdfedit
mirrors-pdfedit
gui-jm