Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
opensipkd-tools
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 1297bb3d
authored
Jun 25, 2024
by
Tatang S
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
tools compress pdf
1 parent
5c9e9ff2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
1 deletions
opensipkd/tools/report.py
setup.py
opensipkd/tools/report.py
View file @
1297bb3
...
@@ -7,6 +7,9 @@ from datetime import datetime
...
@@ -7,6 +7,9 @@ from datetime import datetime
# from z3c.rml import rml2pdf
# from z3c.rml import rml2pdf
import
subprocess
import
subprocess
import
logging
import
logging
from
pypdf
import
PdfReader
,
PdfWriter
from
..tools
import
get_settings
,
get_params
,
get_random_string
from
..tools
import
get_settings
,
get_params
,
get_random_string
log
=
logging
.
getLogger
(
__name__
)
log
=
logging
.
getLogger
(
__name__
)
...
@@ -285,5 +288,57 @@ def ods_export(request, filename, file_type):
...
@@ -285,5 +288,57 @@ def ods_export(request, filename, file_type):
return
file_response
(
request
,
f
,
out_filename
,
file_type
)
return
file_response
(
request
,
f
,
out_filename
,
file_type
)
# use
# pdf_compress("/tmp/original.pdf", "/tmp/compressed.tmp")
# return None
def
pdf_compress
(
original_filename
,
compressed_filename
=
None
):
if
compressed_filename
is
None
:
ori_dir
=
os
.
path
.
dirname
(
original_filename
)
ori_filename
=
os
.
path
.
basename
(
original_filename
)
filenames
=
ori_filename
.
split
(
'.'
)
ext
=
filenames
[
-
1
]
filename
=
""
.
join
(
filenames
[:
-
1
])
compressed_filename
=
os
.
path
.
join
(
ori_dir
,
f
"{filename}_compressed.{ext}"
)
reader
=
PdfReader
(
original_filename
)
writer
=
PdfWriter
()
for
page
in
reader
.
pages
:
writer
.
add_page
(
page
)
if
reader
.
metadata
is
not
None
:
writer
.
add_metadata
(
reader
.
metadata
)
with
open
(
compressed_filename
,
"wb"
)
as
fp
:
writer
.
write
(
fp
)
return
compressed_filename
# use:
# tmp_reports(module_dirname="pbb/pendataan")
# tmp_reports(settings=get_settings(), module_dirname="pbb/pendataan")
# tmp_reports(settings=get_settings(), tmp_path="/home/user/tmp", module_dirname="pbb/pendataan")
# return "string of path"
def
tmp_reports
(
settings
=
None
,
tmp_path
=
None
,
module_dirname
=
None
):
default_tmp
=
'/tmp'
if
settings
is
None
:
settings
=
get_settings
()
if
not
settings
:
return
default_tmp
if
tmp_path
is
None
:
tmp_path
=
'tmp_report'
in
settings
and
settings
[
'tmp_report'
]
or
default_tmp
if
module_dirname
:
tmp_path
=
os
.
path
.
join
(
tmp_path
,
module_dirname
)
if
not
os
.
path
.
exists
(
tmp_path
):
os
.
makedirs
(
tmp_path
)
return
tmp_path
class
Item
(
object
):
class
Item
(
object
):
pass
pass
setup.py
View file @
1297bb3
...
@@ -30,7 +30,8 @@ requires = [
...
@@ -30,7 +30,8 @@ requires = [
# "pikepdf",
# "pikepdf",
"qrcode"
,
"qrcode"
,
"papyrus"
,
"papyrus"
,
"fdf"
"fdf"
,
"pypdf"
]
]
dev_requires
=
[
dev_requires
=
[
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment