PDFsam Basic
Silent install package for PDFsam Basic
6.0.0-5
Utilities
Office
Utilities
Office
Preprod packages are packages built on LUTI.
They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.
- package: tis-pdfsam
- name: PDFsam Basic
- version: 6.0.0-5
- categories: Utilities,Office
- maintainer: WAPT Team,Jimmy PELÉ
- editor: Andrea Vacondio
- licence: AGPLv3
- locale: all
- target_os: darwin
- architecture: x64
- signature_date:
- size: 97.54 Mo
- homepage : https://pdfsam.org/
package : tis-pdfsam
version : 6.0.0-5
architecture : x64
section : base
priority : optional
name : PDFsam Basic
categories : Utilities,Office
maintainer : WAPT Team,Jimmy PELÉ
description : PDFsam Basic or PDF Split and Merge is a free and open-source cross-platform desktop application to split, merge, extract pages, rotate and mix PDF documents.
depends :
conflicts :
maturity : PREPROD
locale : all
target_os : darwin
min_wapt_version : 2.0
sources : https://github.com/torakiki/pdfsam/releases
installed_size :
impacted_process :
description_fr : PDFsam Basic ou PDF Split and Merge est un logiciel libre multiplateforme pour diviser, fusionner, extraire des pages, faire pivoter et associer des documents PDF.
description_pl : PDFsam Basic lub PDF Split and Merge jest darmową i open-source cross-platformową aplikacją desktopową do dzielenia, łączenia, wyodrębniania stron, obracania i mieszania dokumentów PDF
description_de : PDFsam Basic oder PDF Split and Merge ist eine kostenlose und quelloffene, plattformübergreifende Desktop-Anwendung zum Teilen, Zusammenführen, Extrahieren von Seiten, Drehen und Mischen von PDF-Dokumenten
description_es : PDFsam Basic o PDF Split and Merge es una aplicación de escritorio multiplataforma gratuita y de código abierto para dividir, fusionar, extraer páginas, rotar y mezclar documentos PDF
description_pt : PDFsam Basic ou PDF Split and Merge é uma aplicação de ambiente de trabalho livre e de código aberto para dividir, fundir, extrair páginas, rodar e misturar documentos PDF
description_it : PDFsam Basic o PDF Split and Merge è un'applicazione desktop multipiattaforma gratuita e open-source per dividere, unire, estrarre pagine, ruotare e mescolare documenti PDF
description_nl : PDFsam Basic of PDF Splitsen en Samenvoegen is een gratis en open-source cross-platform desktop toepassing om PDF-documenten te splitsen, samen te voegen, pagina's te extraheren, te roteren en te mengen
description_ru : PDFsam Basic или PDF Split and Merge - это бесплатное кроссплатформенное настольное приложение с открытым исходным кодом для разделения, слияния, извлечения страниц, поворота и смешивания документов PDF
audit_schedule :
editor : Andrea Vacondio
keywords : pdfsam,pdf,sam,split,merge,basic,extract,page,pages,rotate,mix,document,documents
licence : AGPLv3
homepage : https://pdfsam.org/
package_uuid : 91f85630-22b9-4f72-823d-b27427fe7dda
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : 7332a01aa80f667ce3cd79545bc9d3974baabe25bc7bc476deaee6bf5df4ad11
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-03-30T22:05:58.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : UO0G9mB461TytmjybMlTh9JmDBQuSxCy24m2hwDEiiGi5hfkb4ddRpw/WClAgYILbQ72e7Jm4c3fRrg6axWeoszp3tEUoGfiZV19+WW6X5mFv4G2/aeV07F7sOSRPOKCBmJG66ZkP4bj3QDEuNjZZjqu6MbmWsGZrV+kgpnE/du5jrKUGdEdCUAS7rleal7R8aNMpNezZruu/qCCwV4eW+V+tm1QZbi6r2mD2xpEb/gdLj2FCLZ3mcbQW4lEXw9Wa2F+PJ0DWgYv6yL4mh1T5D+RNOxzJ6JCJms8G4BeRugDo+mlhnso9xKbvE7+6uKUDP+5UBwoe0xlHrHjdq8Chg==
# -*- coding: utf-8 -*-
from setuphelpers import *
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
app_name = "PDFsam Basic"
def install():
# Declaring local variables
bin_name = glob.glob("*pdfsam*.dmg")[0]
def mount_dmg(dmg_path):
"""Mounts a dmg file.
Returns: The path to the mount point.
"""
try:
return run("yes | hdiutil mount '" + dmg_path + "'").split("\t")[-1].rstrip()
except subprocess.CalledProcessError as e:
raise Exception("Error in mount_dmg : {0}".format(e.output))
def install_dmg(dmg_path, key="", min_version="", get_version=None, force=False, killbefore=None, uninstallkeylist=None):
"""Installs a .dmg if it isn't already installed on the system.
Arguments:
dmg_path : the path to the dmg file
Returns:
True if it succeeded, False otherwise
"""
ret_val = True
dmg_name = os.path.basename(dmg_path)
dmg_mount_path = mount_dmg(dmg_path)
try:
dmg_file_assoc = {".pkg": install_pkg, ".mpkg": install_pkg, ".app": install_app}
files = [dmg_mount_path + "/" + fname for fname in os.listdir(dmg_mount_path)]
nb_files_handled = 0
for file in files:
fname, fextension = os.path.splitext(file)
if fextension in dmg_file_assoc:
dmg_file_assoc[fextension](
file,
key=key,
min_version=min_version,
get_version=get_version,
force=force,
uninstallkeylist=uninstallkeylist,
killbefore=killbefore,
)
nb_files_handled += 1
if nb_files_handled == 0:
error("Error : the dmg provided did not contain a package or an application, or none could be found.")
unmount_dmg(dmg_mount_path)
except Exception as e:
unmount_dmg(dmg_mount_path)
raise
# Installing the software
print("Installing: %s" % bin_name)
install_dmg(bin_name)
def uninstall():
# Uninstalling the software
uninstall_app(app_name)
# -*- coding: utf-8 -*-
from setuphelpers import *
import json
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = "pdfsam-"
def update_package():
# Declaring local variables
result = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
app_name = control.name
api_url = "https://api.github.com/repos/torakiki/pdfsam/releases/latest"
# Getting latest version information from official sources
print("API used is: %s" % api_url)
json_load = json.loads(wgets(api_url, proxies=proxies))
for download in json_load["assets"]:
if bin_contains in download["name"] and download["name"].endswith(".dmg"):
download_url = download["browser_download_url"]
version = json_load["tag_name"].replace("v", "")
latest_bin = download["name"]
break
print("Latest %s version is: %s" % (app_name, version))
print("Download URL is: %s" % download_url)
# Downloading latest binaries
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
result = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
# control.set_software_version(version)
control.save_control_to_wapt()
# Deleting outdated binaries
remove_outdated_binaries(version)
# Validating update-package-sources
return result
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
f1f9ac9086c8e99203c423207a7c3ff4d48f20682eead890235c8abf4fa4eb4c : WAPT/control
7332a01aa80f667ce3cd79545bc9d3974baabe25bc7bc476deaee6bf5df4ad11 : WAPT/icon.png
86e97e2b99516c5933470e7e59eb8adfb2c07dd3c61e2aa613a11d7729845179 : luti.json
704b567abb2f76d36c5ea6ccf8329bc63335cfd873581c61f171eca757276dae : pdfsam-basic-6.0.0-macos-arm64.dmg
da6e09c34d25c58a95293b051dbadc35086c07e2485ff44af50bfc8c03ba8670 : setup.py
57f6c7478235930a38efd3837a1ac1fd80b9ec8cc4a7127aa152482f7b76aae2 : update_package.py