démarrage du suivi
authorDoan Manh Ha <doan.manh.ha@auf.org>
Mon, 5 Apr 2010 10:59:07 +0000 (17:59 +0700)
committerDoan Manh Ha <doan.manh.ha@auf.org>
Mon, 5 Apr 2010 10:59:07 +0000 (17:59 +0700)
gpdftk/Makefile [new file with mode: 0644]
gpdftk/debian/changelog [new file with mode: 0644]
gpdftk/debian/compat [new file with mode: 0644]
gpdftk/debian/control [new file with mode: 0644]
gpdftk/debian/copyright [new file with mode: 0644]
gpdftk/debian/dirs [new file with mode: 0644]
gpdftk/debian/manpage.1.ex [new file with mode: 0644]
gpdftk/debian/rules [new file with mode: 0755]
gpdftk/gpdftk [new file with mode: 0755]
gpdftk/gpdftk.desktop [new file with mode: 0644]

diff --git a/gpdftk/Makefile b/gpdftk/Makefile
new file mode 100644 (file)
index 0000000..970fd78
--- /dev/null
@@ -0,0 +1,19 @@
+VERSION = $(shell dpkg-parsechangelog | sed -n 's/^Version: //p')
+DIST = $(shell dpkg-parsechangelog | sed -n 's/^Distribution: //p')
+
+all: build
+
+build:
+
+install:
+       install -m 0755 gpdftk $(DESTDIR)/usr/bin/
+       install -m 0644 gpdftk.desktop $(DESTDIR)/usr/share/applications/
+
+clean:
+
+test:
+       debuild -I.git -I*.ex -b -us -uc && sudo debi
+
+release:
+       debuild -I.git -I*.ex -tc && debrelease --dput $(DIST)-test
+
diff --git a/gpdftk/debian/changelog b/gpdftk/debian/changelog
new file mode 100644 (file)
index 0000000..8fa23c3
--- /dev/null
@@ -0,0 +1,17 @@
+gpdftk (1.2) jaunty; urgency=low
+
+  * forcer l'installation de epdfview
+
+ -- Doan Manh Ha <doan.manh.ha@auf.org>  Mon, 05 Apr 2010 17:21:48 +0700
+
+gpdftk (1.1) jaunty; urgency=low
+
+  * re publier dans jaunty-test
+
+ -- Doan Manh Ha <doan.manh.ha@auf.org>  Mon, 05 Apr 2010 16:52:22 +0700
+
+gpdftk (1.0) jaunty; urgency=low
+
+  * Initial Release.
+
+ -- Doan Manh Ha <doan.manh.ha@auf.org>  Mon, 05 Apr 2010 12:11:33 +0700
diff --git a/gpdftk/debian/compat b/gpdftk/debian/compat
new file mode 100644 (file)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/gpdftk/debian/control b/gpdftk/debian/control
new file mode 100644 (file)
index 0000000..0667afd
--- /dev/null
@@ -0,0 +1,13 @@
+Source: gpdftk
+Section: text
+Priority: optional
+Maintainer: Doan Manh Ha <doan.manh.ha@auf.org>
+Build-Depends: debhelper (>= 7)
+Standards-Version: 3.8.0
+Homepage: http://git.auf.org/?p=progfou.git;a=blob_plain;f=outils/gpdftk
+
+Package: gpdftk
+Architecture: any
+Depends: pdftk, nautilus, epdfview, zenity
+Description: graphic interface to pdftk
+ Graphic interface to pdftk.
diff --git a/gpdftk/debian/copyright b/gpdftk/debian/copyright
new file mode 100644 (file)
index 0000000..f6bc6be
--- /dev/null
@@ -0,0 +1,44 @@
+This package was debianized by:
+
+    Doan Manh Ha <doan.manh.ha@auf.org> on Mon, 05 Apr 2010 12:11:33 +0700
+
+It was downloaded from:
+
+    http://git.auf.org/?p=progfou.git;a=blob_plain;f=outils/gpdftk
+
+Upstream Author(s):
+
+    Doan Manh Ha <doan.manh.ha@auf.org>
+
+Copyright:
+
+    Copyright (C) 2009-2010  Agence universitaire de la Francophonie
+
+License:
+
+    This package 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.
+
+    This package is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this package; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+The Debian packaging is:
+
+    Copyright C) 2010, Doan Manh Ha <doan.manh.ha@auf.org>
+
+and is licensed under the GPL, see above.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
diff --git a/gpdftk/debian/dirs b/gpdftk/debian/dirs
new file mode 100644 (file)
index 0000000..8fa061d
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/applications
diff --git a/gpdftk/debian/manpage.1.ex b/gpdftk/debian/manpage.1.ex
new file mode 100644 (file)
index 0000000..92dc766
--- /dev/null
@@ -0,0 +1,59 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH GPDFTK SECTION "April  5, 2010"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+gpdftk \- program to do something
+.SH SYNOPSIS
+.B gpdftk
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B gpdftk
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBgpdftk\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+gpdftk was written by <upstream author>.
+.PP
+This manual page was written by Doan Manh Ha <doan.manh.ha@auf.org>,
+for the Debian project (and may be used by others).
diff --git a/gpdftk/debian/rules b/gpdftk/debian/rules
new file mode 100755 (executable)
index 0000000..f741f30
--- /dev/null
@@ -0,0 +1,91 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+
+
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+
+       touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp  
+       dh_testdir
+
+       # Add here commands to compile the package.
+       $(MAKE)
+       #docbook-to-man debian/gpdftk.sgml > gpdftk.1
+
+       touch $@
+
+clean: 
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp
+
+       # Add here commands to clean up after the build process.
+       $(MAKE) clean
+
+       dh_clean 
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_prep  
+       dh_installdirs
+
+       # Add here commands to install the package into debian/gpdftk.
+       $(MAKE) DESTDIR=$(CURDIR)/debian/gpdftk install
+
+
+# Build architecture-independent files here.
+binary-indep: install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs 
+       dh_installdocs
+#      dh_installexamples
+#      dh_install
+#      dh_installmenu
+#      dh_installdebconf
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_python
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+#      dh_strip
+       dh_compress
+       dh_fixperms
+#      dh_perl
+#      dh_makeshlibs
+       dh_installdeb
+#      dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/gpdftk/gpdftk b/gpdftk/gpdftk
new file mode 100755 (executable)
index 0000000..9227258
--- /dev/null
@@ -0,0 +1,132 @@
+#!/bin/bash
+# gpdftk — interface graphique pour pdftk (manipulation de PDF)
+# Copyright ©2009-2010  Agence universitaire de la Francophonie
+#                       http://www.auf.org/
+# Licence : GNU General Public License, version 3
+# Auteurs : Đoàn Mạnh Hà <doan.manh.ha@auf.org>
+#           Progfou <jean-christophe.andre@auf.org>
+# Création : 2009-06-02
+# Mise à jour : 2010-03-12
+PDFVIEWER="evince"
+FILEBROWSER="nautilus"
+
+TEMPFILE=`tempfile`
+trap "rm -f \"$TEMPFILE\"" 0 1 2 3 15
+
+###########################################################################
+# jointure de fichiers PDF
+###########################################################################
+
+operation_joindre() {
+  zenity --file-selection --multiple > "$TEMPFILE"
+  if [ $? != 0 ]; then return 1; fi
+  OUT=`zenity --file-selection --filename="output.pdf" --save`
+  if [ $? != 0 ]; then return 1; fi
+  eval "pdftk `sed 's/^/"/;s/|/" "/g;s/$/"/' "$TEMPFILE"` cat output \"$OUT\""
+  $PDFVIEWER "$OUT" &
+  return 0
+}
+
+###########################################################################
+# extraction de toutes les pages d'un fichier PDF
+###########################################################################
+
+operation_extraire_toutes() {
+  echo "Vous avez choisi 'extraire toutes les pages'."
+  IN=`zenity --file-selection`
+  if [ $? != 0 ]; then return 1; fi
+  DIR="$IN".tmp
+  mkdir "$DIR"
+  cd "$DIR"
+  eval "pdftk \"$IN\" burst"
+  if [ $? != 0 ]; then
+    zenity --info --text="Erreur pendant l'extraction. Un problème dans les plages spécifiées peut-être ?"
+    return 1
+  fi
+  zenity --info --text="L'extraction est terminée.
+Elle a été effectuée dans le répertoire temporaire suivant :
+  $DIR
+
+Merci d'effacer ce répertoire temporaire à la fermeture du navigateur de fichiers."
+  $FILEBROWSER .
+  return 0
+}
+
+###########################################################################
+# extraction de plages de pages d'un fichier PDF
+###########################################################################
+
+operation_selectionner_plage() {
+  echo "Vous avez choisi 'sélectionner une ou plusieurs plages de pages'."
+  IN=`zenity --file-selection`
+  if [ $? != 0 ]; then return 1; fi
+  PLAGE=`zenity --entry --text="Pour sélectionner de la page 2 à 6, saisissez comme suit : 2-6"`
+  if [ $? != 0 ]; then return 1; fi
+  OUT="${IN%.pdf}-selection.pdf"
+  eval "pdftk \"$IN\" cat \"$PLAGE\" output \"$OUT\""
+  if [ $? != 0 ]; then
+     zenity --info --text="Erreur pendant la sélection. Un problème dans les plages spécifiées peut-être ?"
+     return 1
+  fi
+  zenity --info --text="La sélection est terminée.
+Elle a été sauvegardée avec le nom de fichier suivant :
+  $OUT"
+  $PDFVIEWER "$OUT" &
+  return 0
+}
+
+###########################################################################
+# rotation de fichiers PDF
+###########################################################################
+
+operation_rotation() {
+  echo "Vous avez choisi 'effectuer une rotation'."
+  IN=`zenity --file-selection`
+  if [ $? != 0 ]; then return 1; fi
+  ROTATION=`zenity --entry --text="Pour une rotation de 90°, 180° ou 270°, saisissez comme suit : 1-endE ou 1-endS ou 1-endW"`
+  if [ $? != 0 ]; then return 1; fi
+  OUT="${IN%.pdf}-rotation.pdf"
+  eval "pdftk \"$IN\" cat \"$ROTATION\" output \"$OUT\""
+  if [ $? != 0 ]; then
+     zenity --info --text="Erreur pendant la rotation. Un problème dans la saisie peut-être ?"
+     return 1
+  fi
+  zenity --info --text="La rotation est terminée.
+Elle a été sauvegardée avec le nom de fichier suivant :
+  $OUT"
+  $PDFVIEWER "$OUT" &
+  return 0
+}
+
+###########################################################################
+# boucle de gestion du menu principal
+###########################################################################
+
+while true; do
+
+  zenity --width 430 --height 230 --list --title "Traitement des PDF" \
+    --text "Choisissez l'opération souhaitée :" \
+    --column "" --column "Opération" --radiolist \
+      - "Joindre plusieurs fichiers PDF ensemble" \
+      - "Extraire toutes les pages d'un fichier PDF" \
+      - "Sélectionner une ou plusieurs plages de pages d'un fichier PDF" \
+      - "Effectuer une rotation sur un fichier PDF" \
+      > "$TEMPFILE"
+  if [ $? = 1 ]; then exit 0; fi
+
+  case "`cat "$TEMPFILE"`" in
+    "Joindre"*)          if operation_joindre; then exit 0; fi ;;
+    "Extraire toutes"*)  if operation_extraire_toutes; then exit 0; fi ;;
+    *"plage"*)           if operation_selectionner_plage; then exit 0; fi ;;
+    *"rotation"*)        if operation_rotation; then exit 0; fi ;;
+    "")            zenity --info --text "Vous devez choisir une opération." ;;
+    *)                   echo "Erreur : cas non géré." ; exit 1 ;;
+  esac
+
+done
+
+###########################################################################
+# fin du programme
+###########################################################################
+
+exit 0
diff --git a/gpdftk/gpdftk.desktop b/gpdftk/gpdftk.desktop
new file mode 100644 (file)
index 0000000..4c4f6c8
--- /dev/null
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Tool to manipulate PDF files
+Name[fr]=Outil de manipulation de PDF
+Comment=Tool to manipulate PDF files
+Comment[fr]=Outil de manipulation de PDF
+Exec=gpdftk
+Terminal=false
+Type=Application
+StartupNotify=true
+Icon=accessories-text-editor
+Categories=GNOME;GTK;Utility;