From b4c4f14ca5d26a73a03e1f6bf54e0bf1a2c10578 Mon Sep 17 00:00:00 2001 From: bart Date: Sun, 4 Oct 2026 21:47:22 +0200 Subject: [PATCH] v1 --- .dockerignore | 1 + .vscode/launch.json | 18 + Dockerfile | 34 + cups-config/cups/classes.conf | 3 + cups-config/cups/cups-browsed.conf | 776 +++++++++++++ cups-config/cups/cups-files.conf | 94 ++ cups-config/cups/cups-pdf.conf | 306 ++++++ cups-config/cups/cupsd.conf | 196 ++++ cups-config/cups/ppd/dymo.ppd | 628 +++++++++++ cups-config/cups/ppd/dymo.ppd.O | 628 +++++++++++ cups-config/cups/printers.conf | 24 + cups-config/cups/printers.conf.O | 24 + cups-config/cups/raw.convs | 5 + cups-config/cups/raw.types | 5 + cups-config/cups/snmp.conf | 7 + demo.xml | 44 + docker-compose.local.yaml | 16 + docker-compose.yaml | 30 + dymo.ppd | 628 +++++++++++ frontend/index.html | 146 +++ input.csv | 2 + labelelec.sh | 6 + labels/adres.glabels | Bin 0 -> 583 bytes labels/batch_bobz.glabels | Bin 0 -> 291308 bytes labels/eenvoudig.glabels | Bin 0 -> 537 bytes labels/etenopen.glabels | Bin 0 -> 623 bytes labels/etenopslag.glabels | Bin 0 -> 617 bytes labels/outline.glabels | Bin 0 -> 505 bytes package-lock.json | 25 + package.json | 5 + printer_emulation.img | Bin 0 -> 1048576 bytes resultaat.pdf | Bin 0 -> 11824 bytes run.sh | 6 + src/dist/dist/src/index.js | 49 + src/dist/index.js | 60 + src/dist/src/index.js | 49 + src/dist/tsconfig.tsbuildinfo | 1 + src/package-lock.json | 1630 ++++++++++++++++++++++++++++ src/package.json | 28 + src/src/index.ts | 153 +++ src/tsconfig.json | 26 + src/tsconfig.tsbuildinfo | 1 + test.sh | 17 + test_download.sh | 19 + 44 files changed, 5690 insertions(+) create mode 100644 .dockerignore create mode 100644 .vscode/launch.json create mode 100644 Dockerfile create mode 100644 cups-config/cups/classes.conf create mode 100644 cups-config/cups/cups-browsed.conf create mode 100644 cups-config/cups/cups-files.conf create mode 100644 cups-config/cups/cups-pdf.conf create mode 100644 cups-config/cups/cupsd.conf create mode 100644 cups-config/cups/ppd/dymo.ppd create mode 100644 cups-config/cups/ppd/dymo.ppd.O create mode 100644 cups-config/cups/printers.conf create mode 100644 cups-config/cups/printers.conf.O create mode 100644 cups-config/cups/raw.convs create mode 100644 cups-config/cups/raw.types create mode 100644 cups-config/cups/snmp.conf create mode 100644 demo.xml create mode 100644 docker-compose.local.yaml create mode 100644 docker-compose.yaml create mode 100644 dymo.ppd create mode 100644 frontend/index.html create mode 100644 input.csv create mode 100755 labelelec.sh create mode 100644 labels/adres.glabels create mode 100644 labels/batch_bobz.glabels create mode 100644 labels/eenvoudig.glabels create mode 100644 labels/etenopen.glabels create mode 100644 labels/etenopslag.glabels create mode 100644 labels/outline.glabels create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 printer_emulation.img create mode 100644 resultaat.pdf create mode 100755 run.sh create mode 100644 src/dist/dist/src/index.js create mode 100644 src/dist/index.js create mode 100644 src/dist/src/index.js create mode 100644 src/dist/tsconfig.tsbuildinfo create mode 100644 src/package-lock.json create mode 100644 src/package.json create mode 100644 src/src/index.ts create mode 100644 src/tsconfig.json create mode 100644 src/tsconfig.tsbuildinfo create mode 100644 test.sh create mode 100644 test_download.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..5706b12 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,18 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolderBasename}" + } + ] +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0b3abde --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +FROM node:24-trixie AS base + +RUN apt update && apt install -y glabels libusb-1.0-0-dev usbutils imagemagick ghostscript + +FROM node:24-trixie AS build + +WORKDIR /app + +COPY src/package*.json ./ + +RUN npm install --save-dev + +COPY src . + +# (Optioneel) Compileer je TypeScript naar JS +RUN npm run build + + + +FROM base AS labelelec + + +WORKDIR /app + +COPY src/package*.json ./ +RUN npm install --omit=dev + +COPY --from=build --chown=node:node /app/dist /app/dist + +COPY frontend /app/public + +EXPOSE 80 + +ENTRYPOINT ["node", "dist/index.js"] \ No newline at end of file diff --git a/cups-config/cups/classes.conf b/cups-config/cups/classes.conf new file mode 100644 index 0000000..4133bf0 --- /dev/null +++ b/cups-config/cups/classes.conf @@ -0,0 +1,3 @@ +# Class configuration file for CUPS v2.4.16 +# Written by cupsd +# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING diff --git a/cups-config/cups/cups-browsed.conf b/cups-config/cups/cups-browsed.conf new file mode 100644 index 0000000..44e7b8a --- /dev/null +++ b/cups-config/cups/cups-browsed.conf @@ -0,0 +1,776 @@ +# All configuration options described here can also be supplied on the +# command line of cups-browsed via the "-o" option. In case of +# contradicting settings the setting defined in the configuration file +# will get used. + +# Unknown directives are ignored, also unknown values. + + +# Where should cups-browsed save information about the print queues it had +# generated when shutting down, like whether one of these queues was the +# default printer, or default option settings of the queues? + +# CacheDir /var/cache/cups + + +# Where should cups-browsed create its debug log file (if "DebugLogging file" +# is set)? + +# LogDir /var/log/cups + + +# How should debug logging be done? Into the file +# /var/log/cups/cups-browsed_log ('file'), to stderr ('stderr'), or +# not at all ('none')? + +# Note that if cups-browsed is running as a system service (for +# example via systemd) logging to stderr makes the log output going to +# the journal or syslog. Only if you run cups-browsed from the command +# line (for development or debugging) it will actually appear on +# stderr. + +# DebugLogging file +# DebugLogging stderr +# DebugLogging file stderr +# DebugLogging none + + +# Which protocols will we use to discover printers on the network? +# Can use DNSSD and/or CUPS and/or LDAP, or 'none' for neither. + +BrowseRemoteProtocols dnssd + + +# Which protocols will we use to broadcast shared local printers to the network? +# Can use DNSSD and/or CUPS, or 'none' for neither. +# Only CUPS is actually supported, as DNSSD is done by CUPS itself (we ignore +# DNSSD in this directive). + +# BrowseLocalProtocols none + + +# Settings of this directive apply to both BrowseRemoteProtocols and +# BrowseLocalProtocols. +# Can use DNSSD and/or CUPS and/or LDAP, or 'none' for neither. + +# BrowseProtocols none + + +# Only browse remote printers (via DNS-SD or CUPS browsing) from +# selected servers using the "BrowseAllow", "BrowseDeny", and +# "BrowseOrder" directives + +# This serves for restricting the choice of printers in print dialogs +# to trusted servers or to reduce the number of listed printers in the +# print dialogs to a more user-friendly amount in large networks with +# very many shared printers. + +# This only filters the selection of remote printers for which +# cups-browsed creates local queues. If the print dialog uses other +# mechanisms to list remote printers as for example direct DNS-SD +# access, cups-browsed has no influence. cups-browsed also does not +# prevent the user from manually accessing non-listed printers. + +# "BrowseAllow": Accept printers from these hosts or networks. If +# there are only "BrowseAllow" lines and no "BrowseOrder" and/or +# "BrowseDeny" lines, only servers matching at last one "BrowseAllow" +# line are accepted. + +# "BrowseDeny": Deny printers from these hosts or networks. If there +# are only "BrowseDeny" lines and no "BrowseOrder" and/or +# "BrowseAllow" lines, all servers NOT matching any of the +# "BrowseDeny" lines are accepted. + +# "BrowseOrder": Determine the order in which "BrowseAllow" and +# "BrowseDeny" lines are applied. With "BrowseOrder Deny,Allow" in the +# beginning all servers are accepted, then the "BrowseDeny" lines are +# applied to exclude unwished servers or networks and after that the +# "BrowseAllow" lines to re-include servers or networks. With +# "BrowseOrder Allow,Deny" we start with denying all servers, then +# applying the "BrowseAllow" lines and afterwards the "BrowseDeny" +# lines. + +# Default for "BrowseOrder" is "Deny.Allow" if there are both +# "BrowseAllow" and "BrowseDeny" lines. + +# If there are no "Browse..." lines at all, all servers are accepted. + +# BrowseAllow All +# BrowseAllow cups.example.com +# BrowseAllow 192.168.1.12 +# BrowseAllow 192.168.1.0/24 +# BrowseAllow 192.168.1.0/255.255.255.0 + +# BrowseDeny All +# BrowseDeny printserver.example.com +# BrowseDeny 192.168.1.13 +# BrowseDeny 192.168.3.0/24 +# BrowseDeny 192.168.3.0/255.255.255.0 + +# BrowseOrder Deny,Allow +# BrowseOrder Allow,Deny + + +# The interval between browsing/broadcasting cycles, local and/or +# remote, can be adjusted with the BrowseInterval directive. + +# BrowseInterval 60 + + +# Browsing-related operations such as adding or removing printer queues +# and broadcasting are each allowed to take up to a given amount of time. +# It can be configured, in seconds, with the BrowseTimeout directive. +# Especially queues discovered by CUPS broadcasts will be removed after +# this timeout if no further broadcast from the server happens. + +# BrowseTimeout 300 + +# Filtering of remote printers by other properties than IP addresses +# of their servers + +# Often the desired selection of printers cannot be reached by only +# taking into account the IP addresses of the servers. For these cases +# there is the BrowseFilter directive to filter by most of the known +# properties of the printer. + +# By default there is no BrowseFilter line meaning that no filtering +# is applied. + +# To do filtering one can supply one or more BrowseFilter directives +# like this: + +# BrowseFilter [NOT] [EXACT] [] + +# The BrowseFilter directive always starts with the word +# "BrowseFilter" and it must at least contain the name of the data +# field () of the printer's properties to which it should +# apply. + +# Available field names are: + +# name: Name of the local print queue to be created +# host: Host name of the remote print server +# port: Port through which the printer is accessed on the server +# service: DNS/SD service name of the remote printer +# domain: Domain of the remote print server + +# Also all field names in the TXT records of DNS-SD-advertised printers +# are valid, like "color", "duplex", "pdl", ... If the field name of +# the filter rule does not exist for the printer, the rule is skipped. + +# The optional field is either the exact value (when the +# option EXACT is supplied) or a regular expression (Run "man 7 regex" +# in a terminal window) to be matched with the data field. + +# If no filed is supplied, rules with field names of the TXT +# record are considered for boolean matching (true/false) of boolean +# field (like duplex, which can have the values "T" for true and "F" +# for false). + +# If the option NOT is supplied, the filter rule is fulfilled if the +# regular expression or the exact value DOES NOT match the content of +# the data field. In a boolean rule (without ) the rule matches +# false. + +# Regular expressions are always considered case-insensitive and +# extended POSIX regular expressions. Field names and options (NOT, +# EXACT) are all evaluated case-insensitive. If there is an error in a +# regular expression, the BrowseFilter line gets ignored. + +# Especially to note is that supplying any simple string consisting of +# only letters, numbers, spaces, and some basic special characters as +# a regular expression matches if it is contained somewhere in the +# data field. + +# If there is more than one BrowseFilter directive, ALL the directives +# need to be fulfilled for the remote printer to be accepted. If one +# is not fulfilled, the printer will get ignored. + +# Examples: + +# Rules for standard data items which are supplied with any remote +# printer advertised via DNS-SD: + +# Print queue name must contain "hum_res_", this matches +# "hum_res_mono" or "hum_res_color" but also "old_hum_res_mono": + +# BrowseFilter name hum_res_ + +# This matches if the remote host name contains "printserver", like +# "printserver.local", "printserver2.example.com", "newprintserver": + +# BrowseFilter host printserver + +# This matches all ports with 631 int its number, for example 631, +# 8631, 10631,...: + +# BrowseFilter port 631 + +# This rule matches if the DNS-SD service name contains "@ printserver": + +# Browsefilter service @ printserver + +# Matches all domains with "local" in their names, not only "local" but +# also things like "printlocally.com": + +# BrowseFilter domain local + +# Examples for rules applying to items of the TXT record: + +# This rule selects PostScript printers, as the "PDL" field in the TXT +# record contains "postscript" then. This includes also remote CUPS +# queues which accept PostScript, independent of whether the physical +# printer behind the CUPS queue accepts PostScript or not. + +# BrowseFilter pdl postscript + +# Color printers usually contain a "Color" entry set to "T" (for true) +# in the TXT record. This rule selects them: + +# BrowseFilter color + +# This is a similar rule to select only duplex (automatic double-sided +# printing) printers: + +# BrowseFilter duplex + +# Rules with the NOT option: + +# This rule EXCLUDES printers from all hosts containing "financial" in +# their names, nice to get rid of the 100s of printers of the +# financial department: + +# BrowseFilter NOT host financial + +# Get only monochrome printers ("Color" set to "F", meaning false, in +# the TXT record): + +# BrowseFilter NOT color + +# Rules with more advanced use of regular expressions: + +# Only queue names which BEGIN WITH "hum_res_" are accepted now, so we +# still get "hum_res_mono" or "hum_res_color" but not +# "old_hum_res_mono" any more: + +# BrowseFilter name ^hum_res_ + +# Server names is accepted if it contains "print_server" OR +# "graphics_dep_server": + +# BrowseFilter host print_server|graphics_dep_server + +# "printserver1", "printserver2", and "printserver3", nothing else: + +# BrowseFilter host ^printserver[1-3]$ + +# Printers understanding at least one of PostScript, PCL, or PDF: + +# BrowseFilter pdl postscript|pcl|pdf + +# Examples for the EXACT option: + +# Only printers from "printserver.local" are accepted: + +# BrowseFilter EXACT host printserver.local + +# Printers from all servers except "prinserver2.local" are accepted: + +# BrowseFilter NOT EXACT host prinserver2.local + + +# Use BrowsePoll to poll a particular CUPS server + +# BrowsePoll cups.example.com +# BrowsePoll cups.example.com:631 +# BrowsePoll cups.example.com:631/version=1.1 + + +# LDAP browsing configuration +# The default value for all options is an empty string. Example configuration: + +# BrowseLDAPBindDN cn=cups-browsed,dc=domain,dc=tld +# BrowseLDAPCACertFile /path/to/server/certificate.pem +# BrowseLDAPDN ou=printers,dc=domain,dc=tld +# BrowseLDAPFilter (printerLocation=/Office 1/*) +# BrowseLDAPPassword s3cret +# BrowseLDAPServer ldaps://ldap.domain.tld + + +# Use DomainSocket to access the local CUPS daemon via another than the +# default domain socket. "None" or "Off" lets cups-browsed not use CUPS' +# domain socket. + +# DomainSocket /var/run/cups/cups.sock +# DomainSocket None +# DomainSocket Off + + +# Set HTTP timeout (in seconds) for requests sent to local/remote +# resources Note that too short timeouts can make services getting +# missed when they are present and operations be unnecessarily +# repeated and too long timeouts can make operations take too long +# when the server does not respond. + +# HttpLocalTimeout 5 +# HttpRemoteTimeout 10 + +# Set how many retries (N) should cups-browsed do for creating print +# queues for remote printers which receive timeouts during print queue +# creation. The printers which are not successfully set up even after +# N retries, are skipped until the next restart of the service. Note +# that too many retries can cause high CPU load. + +# HttpMaxRetries 5 + +# Set OnlyUnsupportedByCUPS to "Yes" will make cups-browsed not create +# local queues for remote printers for which CUPS creates queues by +# itself. These printers are printers advertised via DNS-SD and doing +# CUPS-supported (currently PWG Raster and Apple Raster) driverless +# printing, including remote CUPS queues. Queues for other printers +# (like for legacy PostScript/PCL printers) are always created +# (depending on the other configuration settings of cups-browsed). + +# With OnlyUnsupportedByCUPS set to "No", cups-browsed creates queues +# for all printers which it supports, including printers for which +# CUPS would create queues by itself. Temporary queues created by CUPS +# will get overwritten. This way it is assured that any extra +# functionality of cups-browsed will apply to these queues. As queues +# created by cups-browsed are permanent CUPS queues this setting is +# also recommended if applications/print dialogs which do not support +# temporary CUPS queues are installed. This setting is the default. + +# OnlyUnsupportedByCUPS Yes + + +# With UseCUPSGeneratedPPDs set to "Yes" cups-browsed creates queues +# for IPP printers with PPDs generated by the PPD generator of CUPS +# and not with the one of cups-browsed. So any new development in +# CUPS' PPD generator gets available. As CUPS' PPD generator is not +# directly accessible, we need to make CUPS generate a temporary print +# queue with the desired PPD. Therefore we can only use these PPDs +# when our queue replaces a temporary CUPS queue, meaning that the +# queue is for a printer on which CUPS supports driverless printing +# (IPP 2.x, PDLs: PDF, PWG Raster, and/or Apple Raster) and that its +# name is the same as CUPS uses for the temporary queue +# ("LocalQueueNamingIPPPrinter DNS-SD" must be set). The directive +# applies only to IPP printers, not to remote CUPS queues, to not +# break clustering. Setting this directive to "No" lets cups-browsed +# generate the PPD file. Default setting is "No". + +# UseCUPSGeneratedPPDs No + + +# With the directives LocalQueueNamingRemoteCUPS and +# LocalQueueNamingIPPPrinter you can determine how the names for local +# queues generated by cups-browsed are generated, separately for +# remote CUPS printers and IPP printers. + +# DNS-SD (the default in both cases) bases the naming on the service +# name of the printer's advertised DNS-SD record. This is exactly the +# same naming scheme as CUPS uses for its temporary queues, so the +# local queue from cups-browsed prevents CUPS from listing and +# creating an additional queue. As DNS-SD service names have to be +# unique, queue names of printers from different servers will also be +# unique and so there is no automatic clustering for load-balanced +# printing. + +# MakeModel bases the queue name on the printer's manufacturer and +# model names. This scheme cups-browsed used formerly for IPP +# printers. + +# RemoteName is only available for remote CUPS queues and uses the +# name of the queue on the remote CUPS server as the local queue's +# name. This makes printers on different CUPS servers with equal queue +# names automatically forming a load-balancing cluster as CUPS did +# formerly (CUPS 1.5.x and older) with CUPS-broadcasted remote +# printers. This scheme cups-browsed used formerly for remote CUPS +# printers. + +# LocalQueueNamingRemoteCUPS DNS-SD +# LocalQueueNamingRemoteCUPS MakeModel +# LocalQueueNamingRemoteCUPS RemoteName +# LocalQueueNamingIPPPrinter DNS-SD +# LocalQueueNamingIPPPrinter MakeModel + + +# Set DNSSDBasedDeviceURIs to "Yes" if cups-browsed should use +# DNS-SD-service-name-based device URIs for its local queues, as CUPS +# also does. These queues use the DNS-SD service name of the +# discovered printer. With this the URI is independent of network +# interfaces and ports, giving reliable connections to always the same +# physical device. This setting is the default. + +# Set DNSSDBasedDeviceURIs to "No" if cups-browsed should use the +# conventional host-name/IP-based URIs. + +# Note that this option has only influence on URIs for printers +# discovered via DNS-SD, not via legacy CUPS broewsing or LDAP. +# Those printers get always assigned the conventional URIs. + +# DNSSDBasedDeviceURIs Yes + + +# Set IPBasedDeviceURIs to "Yes" if cups-browsed should create its +# local queues with device URIs with the IP addresses instead of the +# host names of the remote servers. This mode is there for any +# problems with host name resolution in the network, especially also +# if avahi-daemon is only run for printer discovery and already +# stopped while still printing. By default this mode is turned off, +# meaning that we use URIs with host names. + +# Note that the IP addresses depend on the network interface through +# which the printer is accessed. So do not use IP-based URIs on systems +# with many network interfaces and where interfaces can appear and +# disappear frequently. + +# This mode could also be useful for development and debugging. + +# If you prefer IPv4 or IPv6 IP addresses in the URIs, you can set +# IPBasedDeviceURIs to "IPv4" to only get IPv4 IP addresses or +# IPBasedDeviceURIs to "IPv6" to only get IPv6 IP addresses. + +# IPBasedDeviceURIs No +# IPBasedDeviceURIs Yes +# IPBasedDeviceURIs IPv4 +# IPBasedDeviceURIs IPv6 + +# The AllowResharingRemoteCUPSPrinters directive determines whether a +# print queue pointing to a remote CUPS queue will be re-shared to the +# local network or not. Since the queues generated using the BrowsePoll +# directive are also pointing to remote queues, they are also shared +# automatically if the following option is set. Default is not to share +# remote printers. + +# AllowResharingRemoteCUPSPrinters Yes + +# The NewBrowsePollQueuesShared directive determines whether a print +# queue for a newly discovered printer (discovered by the BrowsePoll directive) +# will be shared to the local network or not. This directive will only work +# if AllowResharingRemoteCUPSPrinters is set to yes. Default is +# not to share printers discovered using BrowsePoll. + +# NewBrowsePollQueuesShared Yes + +# Set CreateRemoteRawPrinterQueues to "Yes" to let cups-browsed also +# create local queues pointing to remote raw CUPS queues. Normally, +# only queues pointing to remote queues with PPD/driver are created +# as we do not use drivers on the client side, but in some cases +# accessing a remote raw queue can make sense, for example if the +# queue forwards the jobs by a special backend like Tea4CUPS. + +# CreateRemoteRawPrinterQueues Yes + + +# cups-browsed by default creates local print queues for each shared +# CUPS print queue which it discovers on remote machines in the local +# network(s). Set CreateRemoteCUPSPrinterQueues to "No" if you do not +# want cups-browsed to do this. For example you can set cups-browsed +# to only create queues for IPP network printers setting +# CreateIPPPrinterQueues not to "No" and CreateRemoteCUPSPrinterQueues +# to "No". + +# CreateRemoteCUPSPrinterQueues No + + +# Set CreateIPPPrinterQueues to "All" to let cups-browsed discover IPP +# network printers (native printers, not CUPS queues) with known page +# description languages (PWG Raster, PDF, PostScript, PCL XL, PCL +# 5c/e) in the local network and auto-create print queues for them. + +# Set CreateIPPPrinterQueues to "Everywhere" to let cups-browsed +# discover IPP Everywhere printers in the local network (native +# printers, not CUPS queues) and auto-create print queues for them. + +# Set CreateIPPPrinterQueues to "AppleRaster" to let cups-browsed +# discover Apple Raster printers in the local network (native +# printers, not CUPS queues) and auto-create print queues for them. + +# Set CreateIPPPrinterQueues to "Driverless" to let cups-browsed +# discover printers designed for driverless use (currently IPP +# Everywhere and Apple Raster) in the local network (native printers, +# not CUPS queues) and auto-create print queues for them. + +# Set CreateIPPPrinterQueues to "LocalOnly" to auto-create print +# queues only for local printers made available as IPP printers. These +# are for example IPP-over-USB printers, made available via +# ippusbxd. This is the default. + +# Set CreateIPPPrinterQueues to "No" to not auto-create print queues +# for IPP network printers. + +# If queues with PPD file are created (see IPPPrinterQueueType +# directive below) the PPDs are auto-generated by cups-browsed based +# on properties of the printer polled via IPP. In case of missing +# information, info from the Bonjour record is used asd as last mean +# default values. + +# If queues without PPD (see IPPPrinterQueueType directive below) are +# created clients have to IPP-poll the capabilities of the printer and +# send option settings as standard IPP attributes. Then we do not poll +# the capabilities by ourselves to not wake up the printer from +# power-saving mode when creating the queues. Jobs have to be sent in +# one of PDF, PWG Raster, or JPEG format. Other formats are not +# accepted. + +# This functionality is primarily for mobile devices running +# CUPS to not need a printer setup tool nor a collection of printer +# drivers and PPDs. + +# CreateIPPPrinterQueues No +# CreateIPPPrinterQueues LocalOnly +# CreateIPPPrinterQueues Everywhere +# CreateIPPPrinterQueues AppleRaster +# CreateIPPPrinterQueues Everywhere AppleRaster +# CreateIPPPrinterQueues Driverless +# CreateIPPPrinterQueues All + + +# If cups-browsed is automatically creating print queues for native +# IPP network printers ("CreateIPPPrinterQueues Yes"), the type of +# queue to be created can be selected by the "IPPPrinterQueueType" +# directive. The "PPD" (default) setting makes queues with PPD file +# being created. With "Interface" or "NoPPD" the queue is created with +# a System V interface script (Not supported with CUPS 2.2.x or +# later). "Auto" is for backward compatibility and also lets queues +# with PPD get created. + +# IPPPrinterQueueType PPD +# IPPPrinterQueueType NoPPD +# IPPPrinterQueueType Interface +# IPPPrinterQueueType Auto + + +# The NewIPPPrinterQueuesShared directive determines whether a print +# queue for a newly discovered IPP network printer (not remote CUPS +# queue) will be shared to the local network or not. This is only +# valid for newly discovered printers. For printers discovered in an +# earlier cups-browsed session, cups-browsed will remember whether the +# printer was shared, so changes by the user get conserved. Default is +# not to share newly discovered IPP printers. + +# NewIPPPrinterQueuesShared Yes + + +# How to handle the print queues cups-browsed creates when +# cups-browsed is shut down: + +# "KeepGeneratedQueuesOnShutdown No" makes the queues being +# removed. This makes sense as these queues only work while +# cups-browsed is running. cups-browsed has to determine to which +# member printer of a cluster to pass on the job. + +# "KeepGeneratedQueuesOnShutdown Yes" (the default) makes the queues +# not being removed. This is the recommended setting for a system +# where cups-browsed is permanently running and only stopped for short +# times (like log rotation) or on shutdown. This avoids the +# re-creation of the queues when cups-browsed is restarted, which +# often causes a clutter of CUPS notifications on the desktop. + +# KeepGeneratedQueuesOnShutdown No + +# If there is more than one remote CUPS printer whose local queue +# would get the same name and AutoClustering is set to "Yes" (the +# default) only one local queue is created which makes up a +# load-balancing cluster of the remote printers which would get this +# queue name (implicit class). This means that when several jobs are +# sent to this queue they get distributed between the printers, using +# the method chosen by the LoadBalancing directive. + +# Note that the forming of clusters depends on the naming scheme for +# local queues created by cups-browsed. If you have set +# LocalQueueNamingRemoteCUPS to "DNSSD" you will not get automatic +# clustering as the DNS-SD service names are always unique. With +# LocalQueueNamingRemoteCUPS set to "RemoteName" local queues are +# named as the CUPS queues on the remote servers are named and so +# equally named queues on different servers get clustered (this is how +# CUPS did it in version 1.5.x or older). LocalQueueNamingRemoteCUPS +# set to "MakeModel" makes remote printers of the same model get +# clustered. Note that then a cluster can contain more than one queue +# of the same server. + +# With AutoClustering set to "No", for each remote CUPS printer an +# individual local queue is created, and to avoid name clashes when +# using the LocalQueueNamingRemoteCUPS settings "RemoteName" or +# "MakeModel" "@" is added to the local queue name. + +# Only remote CUPS printers get clustered, not IPP network printers or +# IPP-over-USB printers. + +# AutoClustering Yes +# AutoClustering No + + +# Load-balancing printer cluster formation can also be manually +# controlled by defining explicitly which remote CUPS printers should +# get clustered together. + +# This is done by the "Cluster" directive: + +# Cluster : ... +# Cluster + +# If no expressions are given, is used as the first and +# only expression for this cluster. + +# Discovered printers are matched against all the expressions of all +# defined clusters. The first expression which matches the discovered +# printer determines to which cluster it belongs. Note that this way a +# printer can only belong to one cluster. Once matched, further +# cluster definitions will not checked any more. + +# With the first printer matching a cluster's expression a local queue +# with the name is created. If more printers are +# discovered and match this cluster, they join the cluster. Printing +# to this queue prints to all these printers in a load-balancing +# manner, according to to the setting of the LoadBalancing directive. + +# Each expression must be a string of characters without spaces. If +# spaces are needed, replace them by underscores ('_'). + +# An expression can be matched in three ways: + +# 1. By the name of the CUPS queue on the remote server +# 2. By make and model name of the remote printer +# 3. By the DNS-SD service name of the remote printer + +# Note that the matching is done case-insensitively and any group of +# non-alphanumerical characters is replaced by a single underscore. + +# So if an expression is "HP_DeskJet_2540" and the remote server +# reports "hp Deskjet-2540" the printer gets matched to this cluster. + +# If "AutoClustering" is not set to "No" both your manual cluster +# definitions will be followed and automatic clustering of +# equally-named remote queues will be performed. If a printer matches +# in both categories the match to the manually defined cluster has +# priority. Automatic clustering of equally-named remote printers is +# not performed if there is a manually defined cluster with this name +# (at least as the printers do not match this cluster). + +# Examples: + +# To cluster all remote CUPS queues named "laserprinter" in your local +# network but not cluster any other equally-named remote CUPS printers +# use (Local queue will get named "laserprinter"): + +# AutoClustering No +# Cluster laserprinter + +# To cluster all remote CUPS queues of HP LaserJet 4050 printers in a +# local queue named "LJ4050": + +# Cluster LJ4050: HP_LaserJet_4050 + +# As DNS-SD service names are unique in a network you can create a +# cluster from exactly specified printers (spaces replaced by +# underscores): + +# Cluster hrdep: oldlaser_@_hr-server1 newlaser_@_hr-server2 + + +# The LoadBalancing directive switches between two methods of handling +# load balancing between equally-named remote queues which are +# represented by one local print queue making up a cluster of them +# (implicit class). + +# The two methods are: + +# Queuing of jobs on the client (LoadBalancing QueueOnClient): + +# Here we queue up the jobs on the client and regularly check the +# clustered remote print queues. If we find an idle queue, we pass +# on a job to it. + +# This is also the method which CUPS uses for classes. Advantage is a +# more even distribution of the job workload on the servers +# (especially if the printing speed of the servers is very different), +# and if a server fails, there are not several jobs stuck or +# lost. Disadvantage is that if one takes the client (laptop, mobile +# phone, ...) out of the local network, printing stops with the jobs +# waiting in the local queue. + +# Queuing of jobs on the servers (LoadBalancing QueueOnServers): + +# Here we check the number of jobs on each of the clustered remote +# printers and send an incoming job immediately to the remote printer +# with the lowest amount of jobs in its queue. This way no jobs queue +# up locally, all jobs which are waiting are waiting on one of the +# remote servers. + +# Not having jobs waiting locally has the advantage that we can take +# the local machine from the network and all jobs get printed. +# Disadvantage is that if a server with a full queue of jobs goes +# away, the jobs go away, too. + +# Default is queuing the jobs on the client as this is what CUPS does +# with classes. + +# LoadBalancing QueueOnClient +# LoadBalancing QueueOnServers + + +# With the DefaultOptions directive one or more option settings can be +# defined to be applied to every print queue newly created by +# cups-browsed. Each option is supplied as one supplies options with +# the "-o" command line argument to the "lpadmin" command (Run "man +# lpadmin" for more details). More than one option can be supplied +# separating the options by spaces. By default no option settings are +# pre-defined. + +# Note that print queues which cups-browsed already created before +# remember their previous settings and so these settings do not get +# applied. + +# DefaultOptions Option1=Value1 Option2=Value2 Option3 noOption4 + + +# The AutoShutdown directive specifies whether cups-browsed should +# automatically terminate when it has no local raw queues set up +# pointing to any discovered remote printers or no jobs on such queues +# depending on AutoShutdownOn setting (auto shutdown mode). Setting it +# to "On" activates the auto-shutdown mode, setting it to "Off" +# deactiivates it (the default). The special mode "avahi" turns auto +# shutdown off while avahi-daemon is running and on when avahi-daemon +# stops. This allows running cups-browsed on-demand when avahi-daemon +# is run on-demand. + +# AutoShutdown Off +# AutoShutdown On +# AutoShutdown avahi + + +# The AutoShutdownOn directive determines what event cups-browsed +# considers as inactivity in auto shutdown mode. "NoQueues" (the +# default) means that auto shutdown is initiated when there are no +# queues for discovered remote printers generated by cups-browsed any +# more. "NoJobs" means that all queues generated by cups-browsed are +# without jobs. + +# AutoShutdownOn NoQueues +# AutoShutdownOn NoJobs + + +# The AutoShutdownTimeout directive specifies after how many seconds +# without local raw queues set up pointing to any discovered remote +# printers or jobs on these queues cups-browsed should actually shut +# down in auto shutdown mode. Default is 30 seconds, 0 means immediate +# shutdown. + +# AutoShutdownTimeout 30 + +# DebugLogFileSize defines the maximum size possible (in KBytes) +# of the log files (cups-browsed_log and cups-browsed_previous_logs) +# that is created using cups-browsed in the debugging mode. +# Setting its value to 0 would turn off any restriction +# on the size of the file. + +# DebugLogFileSize 300 + +# NotifLeaseDuration defines how long the D-BUS subscription created by cups-browsed +# in cupsd will last before cupsd cancels it. The default value is 1 day +# in seconds - 86400. The subscription renewal is set to happen after half of +# NotifLeaseDuration passed. The D-BUS notifications are used for watching over queues +# and doing specific actions when a D-BUS notification comes. + +# NotifLeaseDuration 86400 diff --git a/cups-config/cups/cups-files.conf b/cups-config/cups/cups-files.conf new file mode 100644 index 0000000..80dcfc6 --- /dev/null +++ b/cups-config/cups/cups-files.conf @@ -0,0 +1,94 @@ +# +# File/directory/user/group configuration file for the CUPS scheduler. +# See "man cups-files.conf" for a complete description of this file. +# + +# List of events that are considered fatal errors for the scheduler... +#FatalErrors config + +# Strip domain in local username? +#StripUserDomain No + +# Do we call fsync() after writing configuration or status files? +#SyncOnClose Yes + +# Default user and group for filters/backends/helper programs; this cannot be +# any user or group that resolves to ID 0 for security reasons... +#User lp +#Group lp + +# Administrator user group, used to match @SYSTEM in cupsd.conf policy rules... +# This cannot contain the Group value for security reasons... +SystemGroup root lpadmin + + +# Are Unix domain socket peer credentials used for authorization? +PeerCred on + +# User that is substituted for unauthenticated (remote) root accesses... +#RemoteRoot remroot + +# Do we allow file: device URIs other than to /dev/null? +#FileDevice No + +# Permissions for configuration and log files... +#ConfigFilePerm 0640 +#LogFilePerm 00640 + +# Specifies the group name or ID that will be used for log files. +# The default group in Debian is "adm". +LogFileGroup adm + +# Location of the file logging all access to the scheduler; may be the name +# "syslog". If not an absolute path, the value of ServerRoot is used as the +# root directory. Also see the "AccessLogLevel" directive in cupsd.conf. +AccessLog /var/log/cups/access_log + +# Location of cache files used by the scheduler... +#CacheDir /var/cache/cups + +# Location of data files used by the scheduler... +#DataDir /usr/share/cups + +# Location of the static web content served by the scheduler... +#DocumentRoot /usr/share/cups/doc-root + +# Location of the file logging all messages produced by the scheduler and any +# helper programs; may be the name "syslog". If not an absolute path, the value +# of ServerRoot is used as the root directory. Also see the "LogLevel" +# directive in cupsd.conf. +ErrorLog /var/log/cups/error_log + +# Location of the file logging all pages printed by the scheduler and any +# helper programs; may be the name "syslog". If not an absolute path, the value +# of ServerRoot is used as the root directory. Also see the "PageLogFormat" +# directive in cupsd.conf. +PageLog /var/log/cups/page_log + +# Location of the file listing all of the local printers... +#Printcap /run/cups/printcap + +# Format of the Printcap file... +#PrintcapFormat bsd +#PrintcapFormat plist +#PrintcapFormat solaris + +# Location of all spool files... +#RequestRoot /var/spool/cups + +# Location of helper programs... +#ServerBin /usr/lib/cups + +# SSL/TLS keychain for the scheduler... +#ServerKeychain ssl + +# Location of other configuration files... +#ServerRoot /etc/cups + +# Location of scheduler state files... +#StateDir /run/cups + +# Location of scheduler/helper temporary files. This directory is emptied on +# scheduler startup and cannot be one of the standard (public) temporary +# directory locations for security reasons... +#TempDir /var/spool/cups/tmp diff --git a/cups-config/cups/cups-pdf.conf b/cups-config/cups/cups-pdf.conf new file mode 100644 index 0000000..8a3391b --- /dev/null +++ b/cups-config/cups/cups-pdf.conf @@ -0,0 +1,306 @@ +# cups-pdf.conf -- CUPS Backend Configuration (version 3.0.2, 2025-03-23) +# 18.09.2005, Volker C. Behr +# volker@cups-pdf.de +# http://www.cups-pdf.de +# +# +# This code may be freely distributed as long as this header +# is preserved. Changes to the code should be clearly indicated. +# +# This code is distributed under the GPL. +# (http://www.gnu.org/copyleft/gpl.html) +# +# For more detailed licensing information see cups-pdf.c in the +# corresponding version number. + +########################################################################### +# # +# This is the configuration file for CUPS-PDF. Values that are not set in # +# here will use the defaults. Changes take effect immediately without the # +# need for restarting any services. # +# # +# Take care not to add whitespaces at the end of a line! # +# # +# Options are marked where they can be set (setting via PPD requires the # +# PPD file that comes with CUPS-PDF to be used!). # +# Options passed via lpoptions that are not named for lpoptions here are # +# ignored. # +# Options precedence is as follows: # +# 1st: lpoptions # +# 2nd: PPD settings # +# 3rd: config file (this file) # +# 4th: default values # +########################################################################### + + +########################################################################### +# # +# Path Settings # +# # +########################################################################### + +### Key: Out (config) +## CUPS-PDF output directory +## special qualifiers: +## ${HOME} will be expanded to the user's home directory +## ${USER} will be expanded to the user name +## in case it is an NFS export make sure it is exported without +## root_squash! +## NOTE: if AppArmor is installed, the AppArmor profile must +## be updated to match the output path below, otherwise file +## writing will be denied by AppArmor. +## See instructions on Ubuntu Launchpad in LP bug #147551. +### Default: /var/spool/cups-pdf/${USER} + +Out ${HOME}/PDF + +### Key: AnonDirName (config) +## ABSOLUTE path for anonymously created PDF files +## if anonymous access is disabled this setting has no effect +### Default: /var/spool/cups-pdf/ANONYMOUS + +#AnonDirName /var/spool/cups-pdf/ANONYMOUS + +### Key: Spool (config) +## CUPS-PDF spool directory - make sure there is no user 'SPOOL' on your +## system or change the path +### Default: /var/spool/cups-pdf/SPOOL + +#Spool /var/spool/cups-pdf/SPOOL + + +########################################################################### +# # +# Filename Settings # +# # +########################################################################### + +### Key: Truncate (config, ppd, lpoptions) +## truncate long filenames to a maximum of characters +## this does not consider the full path to the output but only the filename +## without the .pdf-extension or a job-id prefix (see 'Label') +## the minimal value is 8 +### Default: 64 + +#Truncate 64 + +### Key: Cut (config, lpoptions) +## removing file name extensions before appending .pdf to output +## extensions will only be removed if _both_ the following criteria are met: +## - the extension (w/o the dot) is not longer than characters +## - the remaining filename has a minimal length of 1 character +## set Cut to -1 in order to disable cutting +## recommended values: pure UNIX environment : -1 +## mixed environments : 3 +### Default: 3 + +#Cut 3 + +### Key: Label (config, ppd, lpoptions) +## label all jobs with a unique job-id in order to avoid overwriting old +## files in case new ones with identical names are created; always true for +## untitled documents +## 0: label untitled documents only +## 1: label all documents with a preceeding "job_#-" +## 2: label all documents with a tailing "-job_#" +### Default: 0 + +#Label 0 + +### Key: TitlePref (config, ppd, lpoptions) +## where to look first for a title when creating the output filename +## (title in PS file or title on commandline): +## 0: prefer title from %Title statement in the PS file +## 1: prefer title passed via commandline +### Default: 0 + +#TitlePref 0 + + +########################################################################### +# # +# User Settings # +# # +########################################################################### + +### Key: AnonUser (config) +## uid for anonymous PDF creation (this might be a security issue) +## this setting has no influence on AnonDirName (see there) +## set this to an empty value to disable anonymous +### Default: nobody + +#AnonUser nobody + +### Key: LowerCase (config) +## This options allows to check user names given to CUPS-PDF additionally +## against their lower case variants. This is necessary since in some +## Windows environments only upper case user names are passed. Usually UNIX +## user names are all lower case and it is save to use this option +## but be aware that it can lead to mis-identifications in case +## you have user names that differ only in upper/lower case. +## check only against user name as passed to CUPS : 0 +## check additionally against lower case user name : 1 +### Default: 1 + +#LowerCase 1 + +### Key: UserPrefix (config) +## some installations require a domain prefix added to the user name +## leave empty for no prefix +### Default: + +#UserPrefix + +### Key: DirPrefix (config) +## if a prefix was defined above this switch toggels whether to include +## the prefix in the output directory's name (if not $HOME) or not +## 0: do not include, 1: include +### Default: 0 + +#DirPrefix 0 + +### Key: RemovePrefix (config) +## some installation pass usernames with a prefix (usually a domain name) +## if you do not want this prefix to be used by the ${USER} variable for +## output directories put the part which is to be cut here +### Default: + +#RemovePrefix + + +########################################################################### +# # +# Security Settings # +# # +########################################################################### + +### Key: AnonUMask (config) +## umask for anonymous output +## these are the _inverse_ permissions to be granted +### Default: 0000 + +#AnonUMask 0000 + +### Key: UserUMask (config, lptoptions) +## umask for user output of known users +## changing this can introduce security leaks if confidential +## information is processed! +### Default: 0077 + +#UserUMask 0077 + +### Key: Grp (config) +## group cups-pdf is supposed to run as - this will also be the gid for all +## created directories and log files +### Default: lp + +Grp lpadmin + +### Key: AllowUnsafeOptions (config) +## DON'T CHANGE THIS SETTING UNLESS YOU ABSOLUTELY KNOW WHAT YOU ARE DOING +## set to 1 in order to allow users to override any option - including +## those that pose SEVERE SECURITY RISKS, set to 0 for full security +### Default: 0 + +#AllowUnsafeOptions 0 + + +########################################################################### +# # +# Log Settings # +# # +########################################################################### + +### Key: Log (config) +## CUPS-PDF log directory +## set this to an empty value to disable all logging +### Default: /var/log/cups + +#Log /var/log/cups + +### Key: LogType (config, ppd) +## log-mode +## 1: errors +## 2: status (i.e. activity) +## 4: debug - this will generate a lot of log-output! +## add up values to combine options, i.e. 7 is full logging +## if logging is disabled these setting have no effect +### Default: 3 + +#LogType 3 + + +########################################################################### +# # +# PDF Conversion Settings # +# # +########################################################################### + +### Key: GhostScript (config) +## location of GhostScript binary (gs) +## MacOSX: for using pstopdf (recommended) set this to /usr/bin/pstopdf +## or its proper location on your system +### Default: /usr/bin/gs + +#GhostScript /usr/bin/gs + +### Key: GSTmp (config) +## location of temporary files during GhostScript operation +## this must be user-writable like /var/tmp or /tmp ! +### Default: /var/tmp + +#GSTmp /var/tmp + +### Key: GSCall (config) +## command line for calling GhostScript (!!! DO NOT USE NEWLINES !!!) +## MacOSX: for using pstopdf set this to %s %s -o %s %s +### Default: %s -q -dCompatibilityLevel=%s -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="%s" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress %s + +#GSCall %s -q -dCompatibilityLevel=%s -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="%s" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress %s + +### Key: PDFVer (config, ppd, lptopions) +## PDF version to be created - can be "1.5", "1.4", "1.3" or "1.2" +## MacOSX: for using pstopdf set this to an empty value +### Default: 1.4 + +#PDFVer 1.4 + +### Key: PostProcessing (config, lptoptions) +## postprocessing script that will be called after the creation of the PDF +## as arguments the filename of the PDF, the username as determined by +## CUPS-PDF and the one as given to CUPS-PDF will be passed +## the script will be called with user privileges +## set this to an empty value to use no postprocessing +### Default: + +#PostProcessing + + +########################################################################### +# # +# Experimental Settings # +# These settings activate experimental options. If you decide to use # +# them I would appreciate any feedback - including an 'ok' if they # +# work as expected - so I can eventually put them into the non- # +# experimental sections. # +# # +########################################################################### + +### Key: DecodeHexStrings (config) +## this option will try to decode hex strings in the title to allow +## internationalized titles +## (have a look at pstitleconv on www.cups-pdf.de for a suitable filter +## for data from Windows clients) +## 0: disable, 1: enable +### Default: 0 + +DecodeHexStrings 1 + +### Key: FixNewlines (config) +## this option will try to fix various unusal line delimiters (e.g. +## form feeds) +## especially useful when using non-Linux-generated files +## 0: disable, 1: enable +### Default: 0 + +#FixNewlines 0 diff --git a/cups-config/cups/cupsd.conf b/cups-config/cups/cupsd.conf new file mode 100644 index 0000000..e781c07 --- /dev/null +++ b/cups-config/cups/cupsd.conf @@ -0,0 +1,196 @@ +# +# Configuration file for the CUPS scheduler. See "man cupsd.conf" for a +# complete description of this file. +# + +# Log general information in error_log - change "warn" to "debug" +# for troubleshooting... +LogLevel warn +PageLogFormat + +# Specifies the maximum size of the log files before they are rotated. The value "0" disables log rotation. +MaxLogSize 0 + +# Default error policy for printers +ErrorPolicy retry-job + +# Allow remote access +Listen *:631 +ServerAlias * + +# Show shared printers on the local network. +Browsing Yes +BrowseLocalProtocols dnssd + +# Default authentication type, when authentication is required... +DefaultAuthType Basic +DefaultEncryption IfRequested + +# Web interface setting... +WebInterface Yes + +# Timeout after cupsd exits if idle (applied only if cupsd runs on-demand - with -l) +IdleExitTimeout 60 + +# Restrict access to the server... + + Order allow,deny + Allow all + + +# Restrict access to the admin pages... + + Order allow,deny + Allow all + + +# Restrict access to configuration files... + + AuthType Default + Require user @SYSTEM + Order allow,deny + Allow all + + +# Restrict access to log files... + + AuthType Default + Require user @SYSTEM + Order allow,deny + Allow all + + +# Set the default printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + Order deny,allow + + + + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + + +# Set the authenticated printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + AuthType Default + Order deny,allow + + + + AuthType Default + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + AuthType Default + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + + +# Set the kerberized printer/job policies... + + # Job/subscription privacy... + JobPrivateAccess default + JobPrivateValues default + SubscriptionPrivateAccess default + SubscriptionPrivateValues default + + # Job-related operations must be done by the owner or an administrator... + + AuthType Negotiate + Order deny,allow + + + + AuthType Negotiate + Require user @OWNER @SYSTEM + Order deny,allow + + + # All administration operations require an administrator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # All printer operations require a printer operator to authenticate... + + AuthType Default + Require user @SYSTEM + Order deny,allow + + + # Only the owner or an administrator can cancel or authenticate a job... + + AuthType Negotiate + Require user @OWNER @SYSTEM + Order deny,allow + + + + Order deny,allow + + diff --git a/cups-config/cups/ppd/dymo.ppd b/cups-config/cups/ppd/dymo.ppd new file mode 100644 index 0000000..57d9c82 --- /dev/null +++ b/cups-config/cups/ppd/dymo.ppd @@ -0,0 +1,628 @@ +*PPD-Adobe: "4.3" + +*% $Id: lw450.ppd 16401 2011-10-31 18:51:16Z pineichen $ + +*% DYMO LabelWriter Drivers +*% Copyright (C) 2009 Sanford L.P. + +*% 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. + +*% This program 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 program; if not, write to the Free Software +*% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*FormatVersion: "4.3" +*FileVersion: "3.0" +*LanguageVersion: English +*LanguageEncoding: ISOLatin1 +*PCFileName: "LW450.PPD" +*Manufacturer: "DYMO" +*Product: "(DYMO LabelWriter 450)" +*cupsVersion: 1.2 +*cupsManualCopies: False +*cupsFilter: "application/vnd.cups-raster 0 raster2dymolw" +*cupsModelNumber: 0 +*PSVersion: "(3010.000) 550" +*LanguageLevel: "3" +*ColorDevice: False +*DefaultColorSpace: Gray +*FileSystem: False +*Throughput: "8" +*LandscapeOrientation: Minus90 +*TTRasterizer: Type42 + +*ModelName: "DYMO LabelWriter 450" +*NickName: "DYMO LabelWriter 450" +*ShortNickName: "DYMO LabelWriter 450" +*APPrinterIconPath: "/Library/Printers/DYMO/CUPS/Resources/LW450.icns" + +*cupsIPPReason com.dymo.out-of-paper-error/Out of labels. : "" +*cupsIPPReason com.dymo.read-error/Cannot read data from printer. : "" +*cupsIPPReason com.dymo.ready/Printer is ready. : "" +*cupsIPPReason com.dymo.general-error/General print error. : "" +*cupsIPPReason com.dymo.head-overheat-error/Print head is overheated. : "" +*cupsIPPReason com.dymo.slot-status-error/Label path is blocked. : "" +*cupsIPPReason com.dymo.busy-error/The printer is currently in use. : "" +*cupsIPPReason com.dymo.paper-size-error/Label being printed does not match label width currently in printer. : "" +*cupsIPPReason com.dymo.paper-size-undefine-error/Insert a label cassette in the printer. : "" + +*de.cupsIPPReason com.dymo.out-of-paper-error/Keine Etiketten mehr. : "" +*de.cupsIPPReason com.dymo.read-error/Kann keine Daten vom Drucker lesen. : "" +*de.cupsIPPReason com.dymo.ready/Drucker ist bereit. : "" +*de.cupsIPPReason com.dymo.general-error/Allgemeiner Fehler beim Drucken. : "" +*de.cupsIPPReason com.dymo.head-overheat-error/Druckkopf ist zu heiß. : "" +*de.cupsIPPReason com.dymo.slot-status-error/Etikettenzuführung ist blockiert. : "" +*de.cupsIPPReason com.dymo.busy-error/Der Drucker wird gegenwärtig verwendet. : "" +*de.cupsIPPReason com.dymo.paper-size-error/Zu druckendes Etikett passt nicht zur Breite der Etiketten im Drucker. : "" +*de.cupsIPPReason com.dymo.paper-size-undefine-error/Legen Sie eine Etikettenkassette in den Drucker ein. : "" + +*es.cupsIPPReason com.dymo.out-of-paper-error/No tiene etiquetas. : "" +*es.cupsIPPReason com.dymo.read-error/No se pueden leer los datos de la impresora. : "" +*es.cupsIPPReason com.dymo.ready/La impresora está lista. : "" +*es.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*es.cupsIPPReason com.dymo.head-overheat-error/El cabezal de impresión está sobrecalentado. : "" +*es.cupsIPPReason com.dymo.slot-status-error/La trayectoria de la etiqueta está bloqueada. : "" +*es.cupsIPPReason com.dymo.busy-error/La impresora se encuentra actualmente en uso. : "" +*es.cupsIPPReason com.dymo.paper-size-error/La etiqueta que se imprime no coincide con el ancho actual de la impresora. : "" +*es.cupsIPPReason com.dymo.paper-size-undefine-error/Inserte un cartucho de etiquetas en la impresora. : "" + +*es_CO.cupsIPPReason com.dymo.out-of-paper-error/No tiene etiquetas. : "" +*es_CO.cupsIPPReason com.dymo.read-error/No se pueden leer los datos de la impresora. : "" +*es_CO.cupsIPPReason com.dymo.ready/La impresora está lista. : "" +*es_CO.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*es_CO.cupsIPPReason com.dymo.head-overheat-error/El cabezal de impresión está sobrecalentado. : "" +*es_CO.cupsIPPReason com.dymo.slot-status-error/La trayectoria de la etiqueta está bloqueada. : "" +*es_CO.cupsIPPReason com.dymo.busy-error/La impresora se encuentra actualmente en uso. : "" +*es_CO.cupsIPPReason com.dymo.paper-size-error/La etiqueta que se imprime no coincide con el ancho actual de la impresora. : "" +*es_CO.cupsIPPReason com.dymo.paper-size-undefine-error/Inserte un cartucho de etiquetas en la impresora. : "" + +*fr.cupsIPPReason com.dymo.out-of-paper-error/Quantité d’étiquettes insuffisante. : "" +*fr.cupsIPPReason com.dymo.read-error/Impossible de lire les données depuis l'imprimante. : "" +*fr.cupsIPPReason com.dymo.ready/Imprimante prête. : "" +*fr.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*fr.cupsIPPReason com.dymo.head-overheat-error/Tête d'impression surchauffée. : "" +*fr.cupsIPPReason com.dymo.slot-status-error/Chemin des étiquettes bloqué. : "" +*fr.cupsIPPReason com.dymo.busy-error/Imprimante en cours d'utilisation. : "" +*fr.cupsIPPReason com.dymo.paper-size-error/Étiquette en cours d'impression pas de la même largeur que dans l'imprimante. : "" +*fr.cupsIPPReason com.dymo.paper-size-undefine-error/Insérer une cassette d'étiquettes dans l'imprimante. : "" + +*fr_CA.cupsIPPReason com.dymo.out-of-paper-error/Quantité d’étiquettes insuffisante. : "" +*fr_CA.cupsIPPReason com.dymo.read-error/Impossible de lire les données depuis l'imprimante. : "" +*fr_CA.cupsIPPReason com.dymo.ready/Imprimante prête. : "" +*fr_CA.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*fr_CA.cupsIPPReason com.dymo.head-overheat-error/Tête d'impression surchauffée. : "" +*fr_CA.cupsIPPReason com.dymo.slot-status-error/Chemin des étiquettes bloqué. : "" +*fr_CA.cupsIPPReason com.dymo.busy-error/Imprimante en cours d'utilisation. : "" +*fr_CA.cupsIPPReason com.dymo.paper-size-error/Étiquette en cours d'impression pas de la même largeur que dans l'imprimante. : "" +*fr_CA.cupsIPPReason com.dymo.paper-size-undefine-error/Insérer une cassette d'étiquettes dans l'imprimante. : "" + +*it.cupsIPPReason com.dymo.out-of-paper-error/Etichette esaurite. : "" +*it.cupsIPPReason com.dymo.read-error/Impossibile leggere i dati dalla stampante. : "" +*it.cupsIPPReason com.dymo.ready/Stampante pronta. : "" +*it.cupsIPPReason com.dymo.general-error/Errore generico di stampa. : "" +*it.cupsIPPReason com.dymo.head-overheat-error/Testina di stampa surriscaldata. : "" +*it.cupsIPPReason com.dymo.slot-status-error/Percorso etichetta bloccato. : "" +*it.cupsIPPReason com.dymo.busy-error/Stampante attualmente in uso. : "" +*it.cupsIPPReason com.dymo.paper-size-error/L'etichetta in stampa è diversa dalla larghezza impostata nella stampante. : "" +*it.cupsIPPReason com.dymo.paper-size-undefine-error/Inserire una cartuccia etichette nella stampante. : "" + +*nl.cupsIPPReason com.dymo.out-of-paper-error/Labels zijn op. : "" +*nl.cupsIPPReason com.dymo.read-error/Kan gegevens van de printer niet lezen. : "" +*nl.cupsIPPReason com.dymo.ready/Printer is gereed. : "" +*nl.cupsIPPReason com.dymo.general-error/Algemene afdrukfout. : "" +*nl.cupsIPPReason com.dymo.head-overheat-error/Printkop is oververhit. : "" +*nl.cupsIPPReason com.dymo.slot-status-error/Labelspoor is geblokkeerd. : "" +*nl.cupsIPPReason com.dymo.busy-error/De printer is momenteel in gebruik. : "" +*nl.cupsIPPReason com.dymo.paper-size-error/De af te drukken label komt niet overeen met de labelbreedte in de printer. : "" +*nl.cupsIPPReason com.dymo.paper-size-undefine-error/Plaats een labelcassette in de printer. : "" + +*pt.cupsIPPReason com.dymo.out-of-paper-error/Sem etiquetas. : "" +*pt.cupsIPPReason com.dymo.read-error/Não é possível ler dados da impressora. : "" +*pt.cupsIPPReason com.dymo.ready/A impressora está pronta. : "" +*pt.cupsIPPReason com.dymo.general-error/Erro geral de impressão. : "" +*pt.cupsIPPReason com.dymo.head-overheat-error/A cabeça de impressão está superaquecida. : "" +*pt.cupsIPPReason com.dymo.slot-status-error/O caminho da etiqueta está bloqueado. : "" +*pt.cupsIPPReason com.dymo.busy-error/A impressora está em uso no momento. : "" +*pt.cupsIPPReason com.dymo.paper-size-error/A etiqueta sendo impressa não coincide com a largura da etiqueta na impressora. : "" +*pt.cupsIPPReason com.dymo.paper-size-undefine-error/Inserir um cassete de etiquetas na impressora. : "" + +*pt_BR.cupsIPPReason com.dymo.out-of-paper-error/Sem etiquetas. : "" +*pt_BR.cupsIPPReason com.dymo.read-error/Não é possível ler dados da impressora. : "" +*pt_BR.cupsIPPReason com.dymo.ready/A impressora está pronta. : "" +*pt_BR.cupsIPPReason com.dymo.general-error/Erro geral de impressão. : "" +*pt_BR.cupsIPPReason com.dymo.head-overheat-error/A cabeça de impressão está superaquecida. : "" +*pt_BR.cupsIPPReason com.dymo.slot-status-error/O caminho da etiqueta está bloqueado. : "" +*pt_BR.cupsIPPReason com.dymo.busy-error/A impressora está em uso no momento. : "" +*pt_BR.cupsIPPReason com.dymo.paper-size-error/A etiqueta sendo impressa não coincide com a largura da etiqueta na impressora. : "" +*pt_BR.cupsIPPReason com.dymo.paper-size-undefine-error/Inserir um cassete de etiquetas na impressora. : "" + +*OpenUI *PageSize/Media Size: PickOne +*OrderDependency: 10 AnySetup *PageSize +*DefaultPageSize: w102h252.1 +*PageSize w154h64/11351 Jewelry Label: "<>setpagedevice" +*PageSize w72h154/11352 Return Address Int: "<>setpagedevice" +*PageSize w72h72/11353 Multi-Purpose: "<>setpagedevice" +*PageSize w162h90/11354 Multi-Purpose: "<>setpagedevice" +*PageSize w54h144/11355 Multi-Purpose: "<>setpagedevice" +*PageSize w118h252/11356 White Name badge: "<>setpagedevice" +*PageSize w167h188/14681 CD/DVD Label: "<>setpagedevice" +*PageSize w79h252/30252 Address: "<>setpagedevice" +*PageSize w167h252/30253 Address (2 up): "<>setpagedevice" +*PageSize w167h288/30256 Shipping: "<>setpagedevice" +*PageSize w154h198/30258 Diskette: "<>setpagedevice" +*PageSize w82h248/30277 File Folder (2 up): "<>setpagedevice" +*PageSize w154h64.1/30299 Jewelry Label (2 up): "<>setpagedevice" +*PageSize w79h252.1/30320 Address: "<>setpagedevice" +*PageSize w102h252/30321 Large Address: "<>setpagedevice" +*PageSize w154h286/30323 Shipping: "<>setpagedevice" +*PageSize w154h198.1/30324 Diskette: "<>setpagedevice" +*PageSize w54h424/30325 Video Spine: "<>setpagedevice" +*PageSize w131h221/30326 Video Top: "<>setpagedevice" +*PageSize w57h248/30327 File Folder: "<>setpagedevice" +*PageSize w54h144.1/30330 Return Address: "<>setpagedevice" +*PageSize w72h72.1/30332 1 in x 1 in: "<>setpagedevice" +*PageSize w72h72.2/30333 1/2 in x 1 in (2 up): "<>setpagedevice" +*PageSize w162h90.1/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageSize 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageSize w73h86/30335 1/2 in x 1/2 in (4 up): "<>setpagedevice" +*PageSize w72h154.1/30336 1 in x 2-1/8 in: "<>setpagedevice" +*PageSize w118h252.1/30337 Audio Cassette: "<>setpagedevice" +*PageSize w54h203/30339 8mm Video (2 up): "<>setpagedevice" +*PageSize w54h180/30345 3/4 in x 2-1/2 in: "<>setpagedevice" +*PageSize w36h136/30346 1/2 in x 1-7/8 in: "<>setpagedevice" +*PageSize w72h108/30347 1 in x 1-1/2 in: "<>setpagedevice" +*PageSize w65h90/30348 9/10 in x 1-1/4 in: "<>setpagedevice" +*PageSize w167h288.1/30364 Name Badge Label: "<>setpagedevice" +*PageSize w168h252/30365 Name Badge Card: "<>setpagedevice" +*PageSize w144h169/30370 Zip Disk: "<>setpagedevice" +*PageSize w71h144/30373 Price Tag Label: "<>setpagedevice" +*PageSize w144h252/30374 Appointment Card: "<>setpagedevice" +*PageSize w80h144/30376 Hanging File Insert: "<>setpagedevice" +*PageSize w162h504/30383 PC Postage 3-Part: "<>setpagedevice" +*PageSize 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "<>setpagedevice" +*PageSize w167h540/30384 PC Postage 2-Part: "<>setpagedevice" +*PageSize 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "<>setpagedevice" +*PageSize w167h756/30387 PC Postage EPS: "<>setpagedevice" +*PageSize 30387_PC_Postage_EPS/30387 PC Postage EPS: "<>setpagedevice" +*PageSize w167h188.1/30854 CD Label: "<>setpagedevice" +*PageSize w176h292/30856 Badge Card Label: "<>setpagedevice" +*PageSize w167h288.2/30857 Badge Label: "<>setpagedevice" +*PageSize w112h126/30886 CD Label: "<>setpagedevice" +*PageSize w79h252.2/99010 Standard Address: "<>setpagedevice" +*PageSize w102h252.1/99012 Large Address: "<>setpagedevice" +*PageSize w154h286.1/99014 Name Badge Label: "<>setpagedevice" +*PageSize w154h286.2/99014 Shipping: "<>setpagedevice" +*PageSize w154h198.2/99015 Diskette: "<>setpagedevice" +*PageSize w63h419/99016 Video Spine: "<>setpagedevice" +*PageSize w139h221/99016 Video Top: "<>setpagedevice" +*PageSize w36h144/99017 Suspension File: "<>setpagedevice" +*PageSize w108h539/99018 Small Lever Arch: "<>setpagedevice" +*PageSize w167h539/99019 Large Lever Arch: "<>setpagedevice" +*PageSize w154h7680/Banner: "<>setpagedevice" +*PageSize w154h792/Continuous, Wide: "<>setpagedevice" +*CloseUI: *PageSize + +*OpenUI *PageRegion: PickOne +*OrderDependency: 10 AnySetup *PageRegion +*DefaultPageRegion: w102h252.1 +*PageRegion w154h64/11351 Jewelry Label: "<>setpagedevice" +*PageRegion w72h154/11352 Return Address Int: "<>setpagedevice" +*PageRegion w72h72/11353 Multi-Purpose: "<>setpagedevice" +*PageRegion w162h90/11354 Multi-Purpose: "<>setpagedevice" +*PageRegion w54h144/11355 Multi-Purpose: "<>setpagedevice" +*PageRegion w118h252/11356 White Name badge: "<>setpagedevice" +*PageRegion w167h188/14681 CD/DVD Label: "<>setpagedevice" +*PageRegion w79h252/30252 Address: "<>setpagedevice" +*PageRegion w167h252/30253 Address (2 up): "<>setpagedevice" +*PageRegion w167h288/30256 Shipping: "<>setpagedevice" +*PageRegion w154h198/30258 Diskette: "<>setpagedevice" +*PageRegion w82h248/30277 File Folder (2 up): "<>setpagedevice" +*PageRegion w154h64.1/30299 Jewelry Label (2 up): "<>setpagedevice" +*PageRegion w79h252.1/30320 Address: "<>setpagedevice" +*PageRegion w102h252/30321 Large Address: "<>setpagedevice" +*PageRegion w154h286/30323 Shipping: "<>setpagedevice" +*PageRegion w154h198.1/30324 Diskette: "<>setpagedevice" +*PageRegion w54h424/30325 Video Spine: "<>setpagedevice" +*PageRegion w131h221/30326 Video Top: "<>setpagedevice" +*PageRegion w57h248/30327 File Folder: "<>setpagedevice" +*PageRegion w54h144.1/30330 Return Address: "<>setpagedevice" +*PageRegion w72h72.1/30332 1 in x 1 in: "<>setpagedevice" +*PageRegion w72h72.2/30333 1/2 in x 1 in (2 up): "<>setpagedevice" +*PageRegion w162h90.1/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageRegion 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageRegion w73h86/30335 1/2 in x 1/2 in (4 up): "<>setpagedevice" +*PageRegion w72h154.1/30336 1 in x 2-1/8 in: "<>setpagedevice" +*PageRegion w118h252.1/30337 Audio Cassette: "<>setpagedevice" +*PageRegion w54h203/30339 8mm Video (2 up): "<>setpagedevice" +*PageRegion w54h180/30345 3/4 in x 2-1/2 in: "<>setpagedevice" +*PageRegion w36h136/30346 1/2 in x 1-7/8 in: "<>setpagedevice" +*PageRegion w72h108/30347 1 in x 1-1/2 in: "<>setpagedevice" +*PageRegion w65h90/30348 9/10 in x 1-1/4 in: "<>setpagedevice" +*PageRegion w167h288.1/30364 Name Badge Label: "<>setpagedevice" +*PageRegion w168h252/30365 Name Badge Card: "<>setpagedevice" +*PageRegion w144h169/30370 Zip Disk: "<>setpagedevice" +*PageRegion w71h144/30373 Price Tag Label: "<>setpagedevice" +*PageRegion w144h252/30374 Appointment Card: "<>setpagedevice" +*PageRegion w80h144/30376 Hanging File Insert: "<>setpagedevice" +*PageRegion w162h504/30383 PC Postage 3-Part: "<>setpagedevice" +*PageRegion 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "<>setpagedevice" +*PageRegion w167h540/30384 PC Postage 2-Part: "<>setpagedevice" +*PageRegion 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "<>setpagedevice" +*PageRegion w167h756/30387 PC Postage EPS: "<>setpagedevice" +*PageRegion 30387_PC_Postage_EPS/30387 PC Postage EPS: "<>setpagedevice" +*PageRegion w167h188.1/30854 CD Label: "<>setpagedevice" +*PageRegion w176h292/30856 Badge Card Label: "<>setpagedevice" +*PageRegion w167h288.2/30857 Badge Label: "<>setpagedevice" +*PageRegion w112h126/30886 CD Label: "<>setpagedevice" +*PageRegion w79h252.2/99010 Standard Address: "<>setpagedevice" +*PageRegion w102h252.1/99012 Large Address: "<>setpagedevice" +*PageRegion w154h286.1/99014 Name Badge Label: "<>setpagedevice" +*PageRegion w154h286.2/99014 Shipping: "<>setpagedevice" +*PageRegion w154h198.2/99015 Diskette: "<>setpagedevice" +*PageRegion w63h419/99016 Video Spine: "<>setpagedevice" +*PageRegion w139h221/99016 Video Top: "<>setpagedevice" +*PageRegion w36h144/99017 Suspension File: "<>setpagedevice" +*PageRegion w108h539/99018 Small Lever Arch: "<>setpagedevice" +*PageRegion w167h539/99019 Large Lever Arch: "<>setpagedevice" +*PageRegion w154h7680/Banner: "<>setpagedevice" +*PageRegion w154h792/Continuous, Wide: "<>setpagedevice" +*CloseUI: *PageRegion + +*DefaultImageableArea: w102h252.1 +*ImageableArea w154h64/11351 Jewelry Label: "0.00 4.32 150.72 58.80" +*ImageableArea w72h154/11352 Return Address Int: "4.08 4.32 69.12 146.64" +*ImageableArea w72h72/11353 Multi-Purpose: "4.08 4.32 69.12 65.28" +*ImageableArea w162h90/11354 Multi-Purpose: "2.88 4.32 159.12 85.68" +*ImageableArea w54h144/11355 Multi-Purpose: "4.08 4.32 51.12 127.68" +*ImageableArea w118h252/11356 White Name badge: "4.08 4.32 114.24 235.44" +*ImageableArea w167h188/14681 CD/DVD Label: "4.08 17.04 161.28 170.40" +*ImageableArea w79h252/30252 Address: "4.32 4.32 76.08 235.44" +*ImageableArea w167h252/30253 Address (2 up): "4.08 4.32 163.44 235.68" +*ImageableArea w167h288/30256 Shipping: "4.08 4.32 163.68 271.20" +*ImageableArea w154h198/30258 Diskette: "4.08 4.32 150.24 182.16" +*ImageableArea w82h248/30277 File Folder (2 up): "4.32 4.32 78.24 233.04" +*ImageableArea w154h64.1/30299 Jewelry Label (2 up): "0.00 4.32 150.72 58.80" +*ImageableArea w79h252.1/30320 Address: "4.32 4.32 76.08 235.44" +*ImageableArea w102h252/30321 Large Address: "4.32 4.32 98.40 234.96" +*ImageableArea w154h286/30323 Shipping: "4.32 4.32 150.24 270.48" +*ImageableArea w154h198.1/30324 Diskette: "2.88 4.32 150.24 182.16" +*ImageableArea w54h424/30325 Video Spine: "2.88 4.32 51.12 407.28" +*ImageableArea w131h221/30326 Video Top: "4.08 4.32 127.68 204.72" +*ImageableArea w57h248/30327 File Folder: "0.00 4.32 53.52 231.60" +*ImageableArea w54h144.1/30330 Return Address: "4.08 4.32 51.12 127.68" +*ImageableArea w72h72.1/30332 1 in x 1 in: "4.08 4.32 69.12 64.80" +*ImageableArea w72h72.2/30333 1/2 in x 1 in (2 up): "4.08 4.32 69.12 65.28" +*ImageableArea w162h90.1/30334 2-1/4 in x 1-1/4 in: "2.88 4.32 159.12 85.68" +*ImageableArea 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "2.88 4.32 159.12 85.68" +*ImageableArea w73h86/30335 1/2 in x 1/2 in (4 up): "0.00 4.32 70.08 81.12" +*ImageableArea w72h154.1/30336 1 in x 2-1/8 in: "4.08 4.32 69.12 146.64" +*ImageableArea w118h252.1/30337 Audio Cassette: "4.08 4.32 114.24 235.44" +*ImageableArea w54h203/30339 8mm Video (2 up): "4.08 4.32 51.12 186.72" +*ImageableArea w54h180/30345 3/4 in x 2-1/2 in: "4.08 4.32 51.12 163.68" +*ImageableArea w36h136/30346 1/2 in x 1-7/8 in: "4.08 4.32 33.12 118.80" +*ImageableArea w72h108/30347 1 in x 1-1/2 in: "4.08 4.32 69.12 91.68" +*ImageableArea w65h90/30348 9/10 in x 1-1/4 in: "5.04 4.32 61.92 73.68" +*ImageableArea w167h288.1/30364 Name Badge Label: "4.08 4.32 163.68 271.20" +*ImageableArea w168h252/30365 Name Badge Card: "0.00 4.32 161.28 225.12" +*ImageableArea w144h169/30370 Zip Disk: "4.32 4.32 141.12 152.88" +*ImageableArea w71h144/30373 Price Tag Label: "0.00 85.44 67.44 139.68" +*ImageableArea w144h252/30374 Appointment Card: "8.64 4.32 141.12 225.12" +*ImageableArea w80h144/30376 Hanging File Insert: "8.64 4.32 76.32 121.44" +*ImageableArea w162h504/30383 PC Postage 3-Part: "4.08 4.32 159.12 488.16" +*ImageableArea 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "4.08 4.32 159.12 488.16" +*ImageableArea w167h540/30384 PC Postage 2-Part: "4.08 4.32 163.68 524.16" +*ImageableArea 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "4.08 4.32 163.68 524.16" +*ImageableArea w167h756/30387 PC Postage EPS: "4.08 4.32 163.68 740.16" +*ImageableArea 30387_PC_Postage_EPS/30387 PC Postage EPS: "4.08 4.32 163.68 740.16" +*ImageableArea w167h188.1/30854 CD Label: "4.08 17.04 161.28 170.40" +*ImageableArea w176h292/30856 Badge Card Label: "0.00 4.32 161.28 264.72" +*ImageableArea w167h288.2/30857 Badge Label: "4.08 4.32 163.68 271.20" +*ImageableArea w112h126/30886 CD Label: "4.32 18.00 102.24 110.16" +*ImageableArea w79h252.2/99010 Standard Address: "4.32 4.32 76.08 235.44" +*ImageableArea w102h252.1/99012 Large Address: "0.00 0.00 102.00 252.00" +*ImageableArea w154h286.1/99014 Name Badge Label: "4.32 4.32 150.24 270.48" +*ImageableArea w154h286.2/99014 Shipping: "4.32 4.32 150.24 270.48" +*ImageableArea w154h198.2/99015 Diskette: "2.88 4.32 150.24 182.16" +*ImageableArea w63h419/99016 Video Spine: "0.00 4.32 59.52 402.24" +*ImageableArea w139h221/99016 Video Top: "0.00 4.32 136.08 204.48" +*ImageableArea w36h144/99017 Suspension File: "2.88 4.32 33.12 127.92" +*ImageableArea w108h539/99018 Small Lever Arch: "4.08 4.32 104.88 522.72" +*ImageableArea w167h539/99019 Large Lever Arch: "4.08 4.32 163.68 522.72" +*ImageableArea w154h7680/Banner: "4.08 17.04 148.08 7663.92" +*ImageableArea w154h792/Continuous, Wide: "4.32 4.32 150.24 775.68" + +*DefaultPaperDimension: w102h252.1 +*PaperDimension w154h64/11351 Jewelry Label: "153.60 63.12" +*PaperDimension w72h154/11352 Return Address Int: "72.00 153.12" +*PaperDimension w72h72/11353 Multi-Purpose: "72.00 72.00" +*PaperDimension w162h90/11354 Multi-Purpose: "162.00 90.00" +*PaperDimension w54h144/11355 Multi-Purpose: "54.00 144.00" +*PaperDimension w118h252/11356 White Name badge: "117.12 252.00" +*PaperDimension w167h188/14681 CD/DVD Label: "166.32 187.20" +*PaperDimension w79h252/30252 Address: "78.96 252.00" +*PaperDimension w167h252/30253 Address (2 up): "166.32 252.00" +*PaperDimension w167h288/30256 Shipping: "166.56 288.00" +*PaperDimension w154h198/30258 Diskette: "153.12 198.00" +*PaperDimension w82h248/30277 File Folder (2 up): "81.12 247.44" +*PaperDimension w154h64.1/30299 Jewelry Label (2 up): "153.60 63.12" +*PaperDimension w79h252.1/30320 Address: "78.96 252.00" +*PaperDimension w102h252/30321 Large Address: "101.28 251.04" +*PaperDimension w154h286/30323 Shipping: "153.12 285.84" +*PaperDimension w154h198.1/30324 Diskette: "153.12 198.00" +*PaperDimension w54h424/30325 Video Spine: "54.00 423.12" +*PaperDimension w131h221/30326 Video Top: "130.56 220.56" +*PaperDimension w57h248/30327 File Folder: "56.40 247.44" +*PaperDimension w54h144.1/30330 Return Address: "54.00 144.00" +*PaperDimension w72h72.1/30332 1 in x 1 in: "72.00 72.00" +*PaperDimension w72h72.2/30333 1/2 in x 1 in (2 up): "72.00 72.00" +*PaperDimension w162h90.1/30334 2-1/4 in x 1-1/4 in: "162.00 90.00" +*PaperDimension 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "162.00 90.00" +*PaperDimension w73h86/30335 1/2 in x 1/2 in (4 up): "72.96 85.44" +*PaperDimension w72h154.1/30336 1 in x 2-1/8 in: "72.00 153.12" +*PaperDimension w118h252.1/30337 Audio Cassette: "117.12 252.00" +*PaperDimension w54h203/30339 8mm Video (2 up): "54.00 202.56" +*PaperDimension w54h180/30345 3/4 in x 2-1/2 in: "54.00 180.00" +*PaperDimension w36h136/30346 1/2 in x 1-7/8 in: "36.00 135.12" +*PaperDimension w72h108/30347 1 in x 1-1/2 in: "72.00 108.00" +*PaperDimension w65h90/30348 9/10 in x 1-1/4 in: "64.80 90.00" +*PaperDimension w167h288.1/30364 Name Badge Label: "166.56 288.00" +*PaperDimension w168h252/30365 Name Badge Card: "167.04 252.00" +*PaperDimension w144h169/30370 Zip Disk: "144.00 168.72" +*PaperDimension w71h144/30373 Price Tag Label: "70.32 144.00" +*PaperDimension w144h252/30374 Appointment Card: "144.00 252.00" +*PaperDimension w80h144/30376 Hanging File Insert: "79.20 144.00" +*PaperDimension w162h504/30383 PC Postage 3-Part: "162.00 504.00" +*PaperDimension 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "162.00 504.00" +*PaperDimension w167h540/30384 PC Postage 2-Part: "166.56 540.00" +*PaperDimension 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "166.56 540.00" +*PaperDimension w167h756/30387 PC Postage EPS: "166.56 756.00" +*PaperDimension 30387_PC_Postage_EPS/30387 PC Postage EPS: "166.56 756.00" +*PaperDimension w167h188.1/30854 CD Label: "166.32 187.20" +*PaperDimension w176h292/30856 Badge Card Label: "175.44 291.60" +*PaperDimension w167h288.2/30857 Badge Label: "166.56 288.00" +*PaperDimension w112h126/30886 CD Label: "111.36 126.00" +*PaperDimension w79h252.2/99010 Standard Address: "78.96 252.00" +*PaperDimension w102h252.1/99012 Large Address: "101.28 251.04" +*PaperDimension w154h286.1/99014 Name Badge Label: "153.12 285.84" +*PaperDimension w154h286.2/99014 Shipping: "153.12 285.84" +*PaperDimension w154h198.2/99015 Diskette: "153.12 198.00" +*PaperDimension w63h419/99016 Video Spine: "62.40 418.56" +*PaperDimension w139h221/99016 Video Top: "138.96 220.56" +*PaperDimension w36h144/99017 Suspension File: "36.00 144.00" +*PaperDimension w108h539/99018 Small Lever Arch: "107.76 538.56" +*PaperDimension w167h539/99019 Large Lever Arch: "166.56 538.56" +*PaperDimension w154h7680/Banner: "153.12 7680.00" +*PaperDimension w154h792/Continuous, Wide: "153.12 792.00" + +*% Custom page size support +*HWMargins: 0 0 0 0 +*NonUIOrderDependency: 100 AnySetup *CustomPageSize True +*CustomPageSize True/Custom Page Size: "pop pop pop <>setpagedevice" +*ParamCustomPageSize Width: 1 points 10 161.28 +*ParamCustomPageSize Height: 2 points 10 7680 +*ParamCustomPageSize WidthOffset/Width Offset: 3 points 0 0 +*ParamCustomPageSize HeightOffset/Height Offset: 4 points 0 0 +*ParamCustomPageSize Orientation: 5 int 0 0 + +*OpenUI *Resolution/Output Resolution: PickOne +*OrderDependency: 20 AnySetup *Resolution +*DefaultResolution: 300dpi +*Resolution 300dpi/300 DPI: "<>setpagedevice" +*Resolution 300x600dpi/300x600 DPI: "<>setpagedevice" +*CloseUI: *Resolution + +*OpenUI *DymoHalftoning/Halftoning: PickOne +*OrderDependency: 20 AnySetup *DymoHalftoning +*DefaultDymoHalftoning: ErrorDiffusion +*DymoHalftoning Default/Default: "<>setpagedevice" +*DymoHalftoning ErrorDiffusion/Error Diffusion: "<>setpagedevice" +*DymoHalftoning NLL/Nonlinear Dithering: "<>setpagedevice" + +*de.Translation DymoHalftoning/Halbtöne: "" +*de.DymoHalftoning Default/Standard: "" +*de.DymoHalftoning ErrorDiffusion/Fehlerstreuung: "" +*de.DymoHalftoning NLL/Nichtlineare Farbmischung: "" + +*es.Translation DymoHalftoning/Proceso de semitono: "" +*es.DymoHalftoning Default/Predeterminado: "" +*es.DymoHalftoning ErrorDiffusion/Difusión de errores: "" +*es.DymoHalftoning NLL/Interpolación no linear: "" + +*es_CO.Translation DymoHalftoning/Proceso de semitono: "" +*es_CO.DymoHalftoning Default/Predeterminado: "" +*es_CO.DymoHalftoning ErrorDiffusion/Difusión de errores: "" +*es_CO.DymoHalftoning NLL/Interpolación no linear: "" + +*fr.Translation DymoHalftoning/Tramage: "" +*fr.DymoHalftoning Default/Par défaut: "" +*fr.DymoHalftoning ErrorDiffusion/Diffusion d'erreur: "" +*fr.DymoHalftoning NLL/Juxtaposition non linéaire: "" + +*fr_CA.Translation DymoHalftoning/Tramage: "" +*fr_CA.DymoHalftoning Default/Par défaut: "" +*fr_CA.DymoHalftoning ErrorDiffusion/Diffusion d'erreur: "" +*fr_CA.DymoHalftoning NLL/Juxtaposition non linéaire: "" + +*it.Translation DymoHalftoning/Mezzitoni: "" +*it.DymoHalftoning Default/Predefinito: "" +*it.DymoHalftoning ErrorDiffusion/Diffusione errore: "" +*it.DymoHalftoning NLL/Retino non lineare: "" + +*nl.Translation DymoHalftoning/Halftoon: "" +*nl.DymoHalftoning Default/Standaard: "" +*nl.DymoHalftoning ErrorDiffusion/Foutdiffusie: "" +*nl.DymoHalftoning NLL/Niet-lineaire rastering: "" + +*pt.Translation DymoHalftoning/Meio-tom: "" +*pt.DymoHalftoning Default/Padrão: "" +*pt.DymoHalftoning ErrorDiffusion/Difusão de erro: "" +*pt.DymoHalftoning NLL/Pontilhado não linear: "" + +*pt_BR.Translation DymoHalftoning/Meio-tom: "" +*pt_BR.DymoHalftoning Default/Padrão: "" +*pt_BR.DymoHalftoning ErrorDiffusion/Difusão de erro: "" +*pt_BR.DymoHalftoning NLL/Pontilhado não linear: "" + +*CloseUI: *DymoHalftoning + +*OpenUI *DymoPrintDensity/Print Density: PickOne +*OrderDependency: 20 AnySetup *DymoPrintDensity +*DefaultDymoPrintDensity: Normal +*DymoPrintDensity Light/Light: "" +*DymoPrintDensity Medium/Medium: "" +*DymoPrintDensity Normal/Normal: "" +*DymoPrintDensity Dark/Dark: "" + +*de.Translation DymoPrintDensity/Druckdichte: "" +*de.DymoPrintDensity Light/Niedrig: "" +*de.DymoPrintDensity Medium/Mittel: "" +*de.DymoPrintDensity Normal/Normal: "" +*de.DymoPrintDensity Dark/Hoch: "" + +*es.Translation DymoPrintDensity/Densidad de impresión: "" +*es.DymoPrintDensity Light/Bajo: "" +*es.DymoPrintDensity Medium/Mediano: "" +*es.DymoPrintDensity Normal/Normal: "" +*es.DymoPrintDensity Dark/Alto: "" + +*es_CO.Translation DymoPrintDensity/Densidad de impresión: "" +*es_CO.DymoPrintDensity Light/Bajo: "" +*es_CO.DymoPrintDensity Medium/Mediano: "" +*es_CO.DymoPrintDensity Normal/Normal: "" +*es_CO.DymoPrintDensity Dark/Alto: "" + +*fr.Translation DymoPrintDensity/Densité d’impression: "" +*fr.DymoPrintDensity Light/Faible: "" +*fr.DymoPrintDensity Medium/Moyenne: "" +*fr.DymoPrintDensity Normal/Normale: "" +*fr.DymoPrintDensity Dark/Élevée: "" + +*fr_CA.Translation DymoPrintDensity/Densité d'impression: "" +*fr_CA.DymoPrintDensity Light/Faible: "" +*fr_CA.DymoPrintDensity Medium/Moyenne: "" +*fr_CA.DymoPrintDensity Normal/Normale: "" +*fr_CA.DymoPrintDensity Dark/Élevée: "" + +*it.Translation DymoPrintDensity/Densità di stampa: "" +*it.DymoPrintDensity Light/Leggera: "" +*it.DymoPrintDensity Medium/Media: "" +*it.DymoPrintDensity Normal/Normale: "" +*it.DymoPrintDensity Dark/Scura: "" + +*nl.Translation DymoPrintDensity/Afdrukdichtheid: "" +*nl.DymoPrintDensity Light/Laag: "" +*nl.DymoPrintDensity Medium/Middel: "" +*nl.DymoPrintDensity Normal/Normaal: "" +*nl.DymoPrintDensity Dark/Hoog: "" + +*pt.Translation DymoPrintDensity/Densid. de impressão: "" +*pt.DymoPrintDensity Light/Baixo: "" +*pt.DymoPrintDensity Medium/Médio: "" +*pt.DymoPrintDensity Normal/Normal: "" +*pt.DymoPrintDensity Dark/Alto: "" + +*pt_BR.Translation DymoPrintDensity/Densid. de impressão: "" +*pt_BR.DymoPrintDensity Light/Baixo: "" +*pt_BR.DymoPrintDensity Medium/Médio: "" +*pt_BR.DymoPrintDensity Normal/Normal: "" +*pt_BR.DymoPrintDensity Dark/Alto: "" + +*CloseUI: *DymoPrintDensity + +*OpenUI *DymoPrintQuality/Print Quality: PickOne +*OrderDependency: 21 AnySetup *DymoPrintQuality +*DefaultDymoPrintQuality: Text +*DymoPrintQuality Text/Text Only: "<>setpagedevice" +*DymoPrintQuality Graphics/Barcodes and Graphics: "<>setpagedevice" + +*de.Translation DymoPrintQuality/Druckqualität: "" +*de.DymoPrintQuality Text/Nur Text: "" +*de.DymoPrintQuality Graphics/Barcode und Grafik: "" + +*es.Translation DymoPrintQuality/Calidad de impresión: "" +*es.DymoPrintQuality Text/Sólo texto: "" +*es.DymoPrintQuality Graphics/Código de barras y gráficas: "" + +*es_CO.Translation DymoPrintQuality/Calidad de impresión: "" +*es_CO.DymoPrintQuality Text/Sólo texto: "" +*es_CO.DymoPrintQuality Graphics/Código de barras y gráficas: "" + +*fr.Translation DymoPrintQuality/Qualité d’impression: "" +*fr.DymoPrintQuality Text/Texte uniquement: "" +*fr.DymoPrintQuality Graphics/Code-barres et graphisme: "" + +*fr_CA.Translation DymoPrintQuality/Qualité d'impression: "" +*fr_CA.DymoPrintQuality Text/Texte uniquement: "" +*fr_CA.DymoPrintQuality Graphics/Code-barres et graphisme: "" + +*it.Translation DymoPrintQuality/Qualità della stampa: "" +*it.DymoPrintQuality Text/Solo testo: "" +*it.DymoPrintQuality Graphics/Codice a barre e grafica: "" + +*nl.Translation DymoPrintQuality/Afdrukkwaliteit: "" +*nl.DymoPrintQuality Text/Alleen tekst: "" +*nl.DymoPrintQuality Graphics/Streepjescode en afbeeldingen: "" + +*pt.Translation DymoPrintQuality/Qualid. da impressão: "" +*pt.DymoPrintQuality Text/Somente texto: "" +*pt.DymoPrintQuality Graphics/Código de barras e gráficos: "" + +*pt_BR.Translation DymoPrintQuality/Qualid. da impressão: "" +*pt_BR.DymoPrintQuality Text/Somente texto: "" +*pt_BR.DymoPrintQuality Graphics/Código de barras e gráficos: "" + +*CloseUI: *DymoPrintQuality + +*UIConstraints: *DymoPrintQuality Text *Resolution 300x600dpi +*UIConstraints: *DymoPrintQuality Graphics *Resolution 300dpi +*UIConstraints: *Resolution 300x600dpi *DymoPrintQuality Text +*UIConstraints: *Resolution 300dpi *DymoPrintQuality Graphics + +*DefaultFont: Courier +*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM +*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM +*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM +*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM +*Font Bookman-Demi: Standard "(001.004S)" Standard ROM +*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM +*Font Bookman-Light: Standard "(001.004S)" Standard ROM +*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM +*Font Courier: Standard "(002.004S)" Standard ROM +*Font Courier-Bold: Standard "(002.004S)" Standard ROM +*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM +*Font Courier-Oblique: Standard "(002.004S)" Standard ROM +*Font Helvetica: Standard "(001.006S)" Standard ROM +*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM +*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM +*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM +*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM +*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM +*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM +*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM +*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM +*Font Palatino-Bold: Standard "(001.005S)" Standard ROM +*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM +*Font Palatino-Italic: Standard "(001.005S)" Standard ROM +*Font Palatino-Roman: Standard "(001.005S)" Standard ROM +*Font Symbol: Special "(001.007S)" Special ROM +*Font Times-Bold: Standard "(001.007S)" Standard ROM +*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM +*Font Times-Italic: Standard "(001.007S)" Standard ROM +*Font Times-Roman: Standard "(001.007S)" Standard ROM +*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM +*Font ZapfDingbats: Special "(001.004S)" Standard ROM + +*% +*% End of "$Id: lw450.ppd 16401 2011-10-31 18:51:16Z pineichen $" +*% diff --git a/cups-config/cups/ppd/dymo.ppd.O b/cups-config/cups/ppd/dymo.ppd.O new file mode 100644 index 0000000..92d51bc --- /dev/null +++ b/cups-config/cups/ppd/dymo.ppd.O @@ -0,0 +1,628 @@ +*PPD-Adobe: "4.3" + +*% $Id: lw450.ppd 16401 2011-10-31 18:51:16Z pineichen $ + +*% DYMO LabelWriter Drivers +*% Copyright (C) 2009 Sanford L.P. + +*% 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. + +*% This program 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 program; if not, write to the Free Software +*% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*FormatVersion: "4.3" +*FileVersion: "3.0" +*LanguageVersion: English +*LanguageEncoding: ISOLatin1 +*PCFileName: "LW450.PPD" +*Manufacturer: "DYMO" +*Product: "(DYMO LabelWriter 450)" +*cupsVersion: 1.2 +*cupsManualCopies: False +*cupsFilter: "application/vnd.cups-raster 0 raster2dymolw" +*cupsModelNumber: 0 +*PSVersion: "(3010.000) 550" +*LanguageLevel: "3" +*ColorDevice: False +*DefaultColorSpace: Gray +*FileSystem: False +*Throughput: "8" +*LandscapeOrientation: Minus90 +*TTRasterizer: Type42 + +*ModelName: "DYMO LabelWriter 450" +*NickName: "DYMO LabelWriter 450" +*ShortNickName: "DYMO LabelWriter 450" +*APPrinterIconPath: "/Library/Printers/DYMO/CUPS/Resources/LW450.icns" + +*cupsIPPReason com.dymo.out-of-paper-error/Out of labels. : "" +*cupsIPPReason com.dymo.read-error/Cannot read data from printer. : "" +*cupsIPPReason com.dymo.ready/Printer is ready. : "" +*cupsIPPReason com.dymo.general-error/General print error. : "" +*cupsIPPReason com.dymo.head-overheat-error/Print head is overheated. : "" +*cupsIPPReason com.dymo.slot-status-error/Label path is blocked. : "" +*cupsIPPReason com.dymo.busy-error/The printer is currently in use. : "" +*cupsIPPReason com.dymo.paper-size-error/Label being printed does not match label width currently in printer. : "" +*cupsIPPReason com.dymo.paper-size-undefine-error/Insert a label cassette in the printer. : "" + +*de.cupsIPPReason com.dymo.out-of-paper-error/Keine Etiketten mehr. : "" +*de.cupsIPPReason com.dymo.read-error/Kann keine Daten vom Drucker lesen. : "" +*de.cupsIPPReason com.dymo.ready/Drucker ist bereit. : "" +*de.cupsIPPReason com.dymo.general-error/Allgemeiner Fehler beim Drucken. : "" +*de.cupsIPPReason com.dymo.head-overheat-error/Druckkopf ist zu heiß. : "" +*de.cupsIPPReason com.dymo.slot-status-error/Etikettenzuführung ist blockiert. : "" +*de.cupsIPPReason com.dymo.busy-error/Der Drucker wird gegenwärtig verwendet. : "" +*de.cupsIPPReason com.dymo.paper-size-error/Zu druckendes Etikett passt nicht zur Breite der Etiketten im Drucker. : "" +*de.cupsIPPReason com.dymo.paper-size-undefine-error/Legen Sie eine Etikettenkassette in den Drucker ein. : "" + +*es.cupsIPPReason com.dymo.out-of-paper-error/No tiene etiquetas. : "" +*es.cupsIPPReason com.dymo.read-error/No se pueden leer los datos de la impresora. : "" +*es.cupsIPPReason com.dymo.ready/La impresora está lista. : "" +*es.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*es.cupsIPPReason com.dymo.head-overheat-error/El cabezal de impresión está sobrecalentado. : "" +*es.cupsIPPReason com.dymo.slot-status-error/La trayectoria de la etiqueta está bloqueada. : "" +*es.cupsIPPReason com.dymo.busy-error/La impresora se encuentra actualmente en uso. : "" +*es.cupsIPPReason com.dymo.paper-size-error/La etiqueta que se imprime no coincide con el ancho actual de la impresora. : "" +*es.cupsIPPReason com.dymo.paper-size-undefine-error/Inserte un cartucho de etiquetas en la impresora. : "" + +*es_CO.cupsIPPReason com.dymo.out-of-paper-error/No tiene etiquetas. : "" +*es_CO.cupsIPPReason com.dymo.read-error/No se pueden leer los datos de la impresora. : "" +*es_CO.cupsIPPReason com.dymo.ready/La impresora está lista. : "" +*es_CO.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*es_CO.cupsIPPReason com.dymo.head-overheat-error/El cabezal de impresión está sobrecalentado. : "" +*es_CO.cupsIPPReason com.dymo.slot-status-error/La trayectoria de la etiqueta está bloqueada. : "" +*es_CO.cupsIPPReason com.dymo.busy-error/La impresora se encuentra actualmente en uso. : "" +*es_CO.cupsIPPReason com.dymo.paper-size-error/La etiqueta que se imprime no coincide con el ancho actual de la impresora. : "" +*es_CO.cupsIPPReason com.dymo.paper-size-undefine-error/Inserte un cartucho de etiquetas en la impresora. : "" + +*fr.cupsIPPReason com.dymo.out-of-paper-error/Quantité d’étiquettes insuffisante. : "" +*fr.cupsIPPReason com.dymo.read-error/Impossible de lire les données depuis l'imprimante. : "" +*fr.cupsIPPReason com.dymo.ready/Imprimante prête. : "" +*fr.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*fr.cupsIPPReason com.dymo.head-overheat-error/Tête d'impression surchauffée. : "" +*fr.cupsIPPReason com.dymo.slot-status-error/Chemin des étiquettes bloqué. : "" +*fr.cupsIPPReason com.dymo.busy-error/Imprimante en cours d'utilisation. : "" +*fr.cupsIPPReason com.dymo.paper-size-error/Étiquette en cours d'impression pas de la même largeur que dans l'imprimante. : "" +*fr.cupsIPPReason com.dymo.paper-size-undefine-error/Insérer une cassette d'étiquettes dans l'imprimante. : "" + +*fr_CA.cupsIPPReason com.dymo.out-of-paper-error/Quantité d’étiquettes insuffisante. : "" +*fr_CA.cupsIPPReason com.dymo.read-error/Impossible de lire les données depuis l'imprimante. : "" +*fr_CA.cupsIPPReason com.dymo.ready/Imprimante prête. : "" +*fr_CA.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*fr_CA.cupsIPPReason com.dymo.head-overheat-error/Tête d'impression surchauffée. : "" +*fr_CA.cupsIPPReason com.dymo.slot-status-error/Chemin des étiquettes bloqué. : "" +*fr_CA.cupsIPPReason com.dymo.busy-error/Imprimante en cours d'utilisation. : "" +*fr_CA.cupsIPPReason com.dymo.paper-size-error/Étiquette en cours d'impression pas de la même largeur que dans l'imprimante. : "" +*fr_CA.cupsIPPReason com.dymo.paper-size-undefine-error/Insérer une cassette d'étiquettes dans l'imprimante. : "" + +*it.cupsIPPReason com.dymo.out-of-paper-error/Etichette esaurite. : "" +*it.cupsIPPReason com.dymo.read-error/Impossibile leggere i dati dalla stampante. : "" +*it.cupsIPPReason com.dymo.ready/Stampante pronta. : "" +*it.cupsIPPReason com.dymo.general-error/Errore generico di stampa. : "" +*it.cupsIPPReason com.dymo.head-overheat-error/Testina di stampa surriscaldata. : "" +*it.cupsIPPReason com.dymo.slot-status-error/Percorso etichetta bloccato. : "" +*it.cupsIPPReason com.dymo.busy-error/Stampante attualmente in uso. : "" +*it.cupsIPPReason com.dymo.paper-size-error/L'etichetta in stampa è diversa dalla larghezza impostata nella stampante. : "" +*it.cupsIPPReason com.dymo.paper-size-undefine-error/Inserire una cartuccia etichette nella stampante. : "" + +*nl.cupsIPPReason com.dymo.out-of-paper-error/Labels zijn op. : "" +*nl.cupsIPPReason com.dymo.read-error/Kan gegevens van de printer niet lezen. : "" +*nl.cupsIPPReason com.dymo.ready/Printer is gereed. : "" +*nl.cupsIPPReason com.dymo.general-error/Algemene afdrukfout. : "" +*nl.cupsIPPReason com.dymo.head-overheat-error/Printkop is oververhit. : "" +*nl.cupsIPPReason com.dymo.slot-status-error/Labelspoor is geblokkeerd. : "" +*nl.cupsIPPReason com.dymo.busy-error/De printer is momenteel in gebruik. : "" +*nl.cupsIPPReason com.dymo.paper-size-error/De af te drukken label komt niet overeen met de labelbreedte in de printer. : "" +*nl.cupsIPPReason com.dymo.paper-size-undefine-error/Plaats een labelcassette in de printer. : "" + +*pt.cupsIPPReason com.dymo.out-of-paper-error/Sem etiquetas. : "" +*pt.cupsIPPReason com.dymo.read-error/Não é possível ler dados da impressora. : "" +*pt.cupsIPPReason com.dymo.ready/A impressora está pronta. : "" +*pt.cupsIPPReason com.dymo.general-error/Erro geral de impressão. : "" +*pt.cupsIPPReason com.dymo.head-overheat-error/A cabeça de impressão está superaquecida. : "" +*pt.cupsIPPReason com.dymo.slot-status-error/O caminho da etiqueta está bloqueado. : "" +*pt.cupsIPPReason com.dymo.busy-error/A impressora está em uso no momento. : "" +*pt.cupsIPPReason com.dymo.paper-size-error/A etiqueta sendo impressa não coincide com a largura da etiqueta na impressora. : "" +*pt.cupsIPPReason com.dymo.paper-size-undefine-error/Inserir um cassete de etiquetas na impressora. : "" + +*pt_BR.cupsIPPReason com.dymo.out-of-paper-error/Sem etiquetas. : "" +*pt_BR.cupsIPPReason com.dymo.read-error/Não é possível ler dados da impressora. : "" +*pt_BR.cupsIPPReason com.dymo.ready/A impressora está pronta. : "" +*pt_BR.cupsIPPReason com.dymo.general-error/Erro geral de impressão. : "" +*pt_BR.cupsIPPReason com.dymo.head-overheat-error/A cabeça de impressão está superaquecida. : "" +*pt_BR.cupsIPPReason com.dymo.slot-status-error/O caminho da etiqueta está bloqueado. : "" +*pt_BR.cupsIPPReason com.dymo.busy-error/A impressora está em uso no momento. : "" +*pt_BR.cupsIPPReason com.dymo.paper-size-error/A etiqueta sendo impressa não coincide com a largura da etiqueta na impressora. : "" +*pt_BR.cupsIPPReason com.dymo.paper-size-undefine-error/Inserir um cassete de etiquetas na impressora. : "" + +*OpenUI *PageSize/Media Size: PickOne +*OrderDependency: 10 AnySetup *PageSize +*DefaultPageSize: w167h288 +*PageSize w154h64/11351 Jewelry Label: "<>setpagedevice" +*PageSize w72h154/11352 Return Address Int: "<>setpagedevice" +*PageSize w72h72/11353 Multi-Purpose: "<>setpagedevice" +*PageSize w162h90/11354 Multi-Purpose: "<>setpagedevice" +*PageSize w54h144/11355 Multi-Purpose: "<>setpagedevice" +*PageSize w118h252/11356 White Name badge: "<>setpagedevice" +*PageSize w167h188/14681 CD/DVD Label: "<>setpagedevice" +*PageSize w79h252/30252 Address: "<>setpagedevice" +*PageSize w167h252/30253 Address (2 up): "<>setpagedevice" +*PageSize w167h288/30256 Shipping: "<>setpagedevice" +*PageSize w154h198/30258 Diskette: "<>setpagedevice" +*PageSize w82h248/30277 File Folder (2 up): "<>setpagedevice" +*PageSize w154h64.1/30299 Jewelry Label (2 up): "<>setpagedevice" +*PageSize w79h252.1/30320 Address: "<>setpagedevice" +*PageSize w102h252/30321 Large Address: "<>setpagedevice" +*PageSize w154h286/30323 Shipping: "<>setpagedevice" +*PageSize w154h198.1/30324 Diskette: "<>setpagedevice" +*PageSize w54h424/30325 Video Spine: "<>setpagedevice" +*PageSize w131h221/30326 Video Top: "<>setpagedevice" +*PageSize w57h248/30327 File Folder: "<>setpagedevice" +*PageSize w54h144.1/30330 Return Address: "<>setpagedevice" +*PageSize w72h72.1/30332 1 in x 1 in: "<>setpagedevice" +*PageSize w72h72.2/30333 1/2 in x 1 in (2 up): "<>setpagedevice" +*PageSize w162h90.1/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageSize 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageSize w73h86/30335 1/2 in x 1/2 in (4 up): "<>setpagedevice" +*PageSize w72h154.1/30336 1 in x 2-1/8 in: "<>setpagedevice" +*PageSize w118h252.1/30337 Audio Cassette: "<>setpagedevice" +*PageSize w54h203/30339 8mm Video (2 up): "<>setpagedevice" +*PageSize w54h180/30345 3/4 in x 2-1/2 in: "<>setpagedevice" +*PageSize w36h136/30346 1/2 in x 1-7/8 in: "<>setpagedevice" +*PageSize w72h108/30347 1 in x 1-1/2 in: "<>setpagedevice" +*PageSize w65h90/30348 9/10 in x 1-1/4 in: "<>setpagedevice" +*PageSize w167h288.1/30364 Name Badge Label: "<>setpagedevice" +*PageSize w168h252/30365 Name Badge Card: "<>setpagedevice" +*PageSize w144h169/30370 Zip Disk: "<>setpagedevice" +*PageSize w71h144/30373 Price Tag Label: "<>setpagedevice" +*PageSize w144h252/30374 Appointment Card: "<>setpagedevice" +*PageSize w80h144/30376 Hanging File Insert: "<>setpagedevice" +*PageSize w162h504/30383 PC Postage 3-Part: "<>setpagedevice" +*PageSize 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "<>setpagedevice" +*PageSize w167h540/30384 PC Postage 2-Part: "<>setpagedevice" +*PageSize 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "<>setpagedevice" +*PageSize w167h756/30387 PC Postage EPS: "<>setpagedevice" +*PageSize 30387_PC_Postage_EPS/30387 PC Postage EPS: "<>setpagedevice" +*PageSize w167h188.1/30854 CD Label: "<>setpagedevice" +*PageSize w176h292/30856 Badge Card Label: "<>setpagedevice" +*PageSize w167h288.2/30857 Badge Label: "<>setpagedevice" +*PageSize w112h126/30886 CD Label: "<>setpagedevice" +*PageSize w79h252.2/99010 Standard Address: "<>setpagedevice" +*PageSize w102h252.1/99012 Large Address: "<>setpagedevice" +*PageSize w154h286.1/99014 Name Badge Label: "<>setpagedevice" +*PageSize w154h286.2/99014 Shipping: "<>setpagedevice" +*PageSize w154h198.2/99015 Diskette: "<>setpagedevice" +*PageSize w63h419/99016 Video Spine: "<>setpagedevice" +*PageSize w139h221/99016 Video Top: "<>setpagedevice" +*PageSize w36h144/99017 Suspension File: "<>setpagedevice" +*PageSize w108h539/99018 Small Lever Arch: "<>setpagedevice" +*PageSize w167h539/99019 Large Lever Arch: "<>setpagedevice" +*PageSize w154h7680/Banner: "<>setpagedevice" +*PageSize w154h792/Continuous, Wide: "<>setpagedevice" +*CloseUI: *PageSize + +*OpenUI *PageRegion: PickOne +*OrderDependency: 10 AnySetup *PageRegion +*DefaultPageRegion: w167h288 +*PageRegion w154h64/11351 Jewelry Label: "<>setpagedevice" +*PageRegion w72h154/11352 Return Address Int: "<>setpagedevice" +*PageRegion w72h72/11353 Multi-Purpose: "<>setpagedevice" +*PageRegion w162h90/11354 Multi-Purpose: "<>setpagedevice" +*PageRegion w54h144/11355 Multi-Purpose: "<>setpagedevice" +*PageRegion w118h252/11356 White Name badge: "<>setpagedevice" +*PageRegion w167h188/14681 CD/DVD Label: "<>setpagedevice" +*PageRegion w79h252/30252 Address: "<>setpagedevice" +*PageRegion w167h252/30253 Address (2 up): "<>setpagedevice" +*PageRegion w167h288/30256 Shipping: "<>setpagedevice" +*PageRegion w154h198/30258 Diskette: "<>setpagedevice" +*PageRegion w82h248/30277 File Folder (2 up): "<>setpagedevice" +*PageRegion w154h64.1/30299 Jewelry Label (2 up): "<>setpagedevice" +*PageRegion w79h252.1/30320 Address: "<>setpagedevice" +*PageRegion w102h252/30321 Large Address: "<>setpagedevice" +*PageRegion w154h286/30323 Shipping: "<>setpagedevice" +*PageRegion w154h198.1/30324 Diskette: "<>setpagedevice" +*PageRegion w54h424/30325 Video Spine: "<>setpagedevice" +*PageRegion w131h221/30326 Video Top: "<>setpagedevice" +*PageRegion w57h248/30327 File Folder: "<>setpagedevice" +*PageRegion w54h144.1/30330 Return Address: "<>setpagedevice" +*PageRegion w72h72.1/30332 1 in x 1 in: "<>setpagedevice" +*PageRegion w72h72.2/30333 1/2 in x 1 in (2 up): "<>setpagedevice" +*PageRegion w162h90.1/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageRegion 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageRegion w73h86/30335 1/2 in x 1/2 in (4 up): "<>setpagedevice" +*PageRegion w72h154.1/30336 1 in x 2-1/8 in: "<>setpagedevice" +*PageRegion w118h252.1/30337 Audio Cassette: "<>setpagedevice" +*PageRegion w54h203/30339 8mm Video (2 up): "<>setpagedevice" +*PageRegion w54h180/30345 3/4 in x 2-1/2 in: "<>setpagedevice" +*PageRegion w36h136/30346 1/2 in x 1-7/8 in: "<>setpagedevice" +*PageRegion w72h108/30347 1 in x 1-1/2 in: "<>setpagedevice" +*PageRegion w65h90/30348 9/10 in x 1-1/4 in: "<>setpagedevice" +*PageRegion w167h288.1/30364 Name Badge Label: "<>setpagedevice" +*PageRegion w168h252/30365 Name Badge Card: "<>setpagedevice" +*PageRegion w144h169/30370 Zip Disk: "<>setpagedevice" +*PageRegion w71h144/30373 Price Tag Label: "<>setpagedevice" +*PageRegion w144h252/30374 Appointment Card: "<>setpagedevice" +*PageRegion w80h144/30376 Hanging File Insert: "<>setpagedevice" +*PageRegion w162h504/30383 PC Postage 3-Part: "<>setpagedevice" +*PageRegion 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "<>setpagedevice" +*PageRegion w167h540/30384 PC Postage 2-Part: "<>setpagedevice" +*PageRegion 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "<>setpagedevice" +*PageRegion w167h756/30387 PC Postage EPS: "<>setpagedevice" +*PageRegion 30387_PC_Postage_EPS/30387 PC Postage EPS: "<>setpagedevice" +*PageRegion w167h188.1/30854 CD Label: "<>setpagedevice" +*PageRegion w176h292/30856 Badge Card Label: "<>setpagedevice" +*PageRegion w167h288.2/30857 Badge Label: "<>setpagedevice" +*PageRegion w112h126/30886 CD Label: "<>setpagedevice" +*PageRegion w79h252.2/99010 Standard Address: "<>setpagedevice" +*PageRegion w102h252.1/99012 Large Address: "<>setpagedevice" +*PageRegion w154h286.1/99014 Name Badge Label: "<>setpagedevice" +*PageRegion w154h286.2/99014 Shipping: "<>setpagedevice" +*PageRegion w154h198.2/99015 Diskette: "<>setpagedevice" +*PageRegion w63h419/99016 Video Spine: "<>setpagedevice" +*PageRegion w139h221/99016 Video Top: "<>setpagedevice" +*PageRegion w36h144/99017 Suspension File: "<>setpagedevice" +*PageRegion w108h539/99018 Small Lever Arch: "<>setpagedevice" +*PageRegion w167h539/99019 Large Lever Arch: "<>setpagedevice" +*PageRegion w154h7680/Banner: "<>setpagedevice" +*PageRegion w154h792/Continuous, Wide: "<>setpagedevice" +*CloseUI: *PageRegion + +*DefaultImageableArea: w167h288 +*ImageableArea w154h64/11351 Jewelry Label: "0.00 4.32 150.72 58.80" +*ImageableArea w72h154/11352 Return Address Int: "4.08 4.32 69.12 146.64" +*ImageableArea w72h72/11353 Multi-Purpose: "4.08 4.32 69.12 65.28" +*ImageableArea w162h90/11354 Multi-Purpose: "2.88 4.32 159.12 85.68" +*ImageableArea w54h144/11355 Multi-Purpose: "4.08 4.32 51.12 127.68" +*ImageableArea w118h252/11356 White Name badge: "4.08 4.32 114.24 235.44" +*ImageableArea w167h188/14681 CD/DVD Label: "4.08 17.04 161.28 170.40" +*ImageableArea w79h252/30252 Address: "4.32 4.32 76.08 235.44" +*ImageableArea w167h252/30253 Address (2 up): "4.08 4.32 163.44 235.68" +*ImageableArea w167h288/30256 Shipping: "4.08 4.32 163.68 271.20" +*ImageableArea w154h198/30258 Diskette: "4.08 4.32 150.24 182.16" +*ImageableArea w82h248/30277 File Folder (2 up): "4.32 4.32 78.24 233.04" +*ImageableArea w154h64.1/30299 Jewelry Label (2 up): "0.00 4.32 150.72 58.80" +*ImageableArea w79h252.1/30320 Address: "4.32 4.32 76.08 235.44" +*ImageableArea w102h252/30321 Large Address: "4.32 4.32 98.40 234.96" +*ImageableArea w154h286/30323 Shipping: "4.32 4.32 150.24 270.48" +*ImageableArea w154h198.1/30324 Diskette: "2.88 4.32 150.24 182.16" +*ImageableArea w54h424/30325 Video Spine: "2.88 4.32 51.12 407.28" +*ImageableArea w131h221/30326 Video Top: "4.08 4.32 127.68 204.72" +*ImageableArea w57h248/30327 File Folder: "0.00 4.32 53.52 231.60" +*ImageableArea w54h144.1/30330 Return Address: "4.08 4.32 51.12 127.68" +*ImageableArea w72h72.1/30332 1 in x 1 in: "4.08 4.32 69.12 64.80" +*ImageableArea w72h72.2/30333 1/2 in x 1 in (2 up): "4.08 4.32 69.12 65.28" +*ImageableArea w162h90.1/30334 2-1/4 in x 1-1/4 in: "2.88 4.32 159.12 85.68" +*ImageableArea 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "2.88 4.32 159.12 85.68" +*ImageableArea w73h86/30335 1/2 in x 1/2 in (4 up): "0.00 4.32 70.08 81.12" +*ImageableArea w72h154.1/30336 1 in x 2-1/8 in: "4.08 4.32 69.12 146.64" +*ImageableArea w118h252.1/30337 Audio Cassette: "4.08 4.32 114.24 235.44" +*ImageableArea w54h203/30339 8mm Video (2 up): "4.08 4.32 51.12 186.72" +*ImageableArea w54h180/30345 3/4 in x 2-1/2 in: "4.08 4.32 51.12 163.68" +*ImageableArea w36h136/30346 1/2 in x 1-7/8 in: "4.08 4.32 33.12 118.80" +*ImageableArea w72h108/30347 1 in x 1-1/2 in: "4.08 4.32 69.12 91.68" +*ImageableArea w65h90/30348 9/10 in x 1-1/4 in: "5.04 4.32 61.92 73.68" +*ImageableArea w167h288.1/30364 Name Badge Label: "4.08 4.32 163.68 271.20" +*ImageableArea w168h252/30365 Name Badge Card: "0.00 4.32 161.28 225.12" +*ImageableArea w144h169/30370 Zip Disk: "4.32 4.32 141.12 152.88" +*ImageableArea w71h144/30373 Price Tag Label: "0.00 85.44 67.44 139.68" +*ImageableArea w144h252/30374 Appointment Card: "8.64 4.32 141.12 225.12" +*ImageableArea w80h144/30376 Hanging File Insert: "8.64 4.32 76.32 121.44" +*ImageableArea w162h504/30383 PC Postage 3-Part: "4.08 4.32 159.12 488.16" +*ImageableArea 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "4.08 4.32 159.12 488.16" +*ImageableArea w167h540/30384 PC Postage 2-Part: "4.08 4.32 163.68 524.16" +*ImageableArea 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "4.08 4.32 163.68 524.16" +*ImageableArea w167h756/30387 PC Postage EPS: "4.08 4.32 163.68 740.16" +*ImageableArea 30387_PC_Postage_EPS/30387 PC Postage EPS: "4.08 4.32 163.68 740.16" +*ImageableArea w167h188.1/30854 CD Label: "4.08 17.04 161.28 170.40" +*ImageableArea w176h292/30856 Badge Card Label: "0.00 4.32 161.28 264.72" +*ImageableArea w167h288.2/30857 Badge Label: "4.08 4.32 163.68 271.20" +*ImageableArea w112h126/30886 CD Label: "4.32 18.00 102.24 110.16" +*ImageableArea w79h252.2/99010 Standard Address: "4.32 4.32 76.08 235.44" +*ImageableArea w102h252.1/99012 Large Address: "4.32 4.32 98.40 234.96" +*ImageableArea w154h286.1/99014 Name Badge Label: "4.32 4.32 150.24 270.48" +*ImageableArea w154h286.2/99014 Shipping: "4.32 4.32 150.24 270.48" +*ImageableArea w154h198.2/99015 Diskette: "2.88 4.32 150.24 182.16" +*ImageableArea w63h419/99016 Video Spine: "0.00 4.32 59.52 402.24" +*ImageableArea w139h221/99016 Video Top: "0.00 4.32 136.08 204.48" +*ImageableArea w36h144/99017 Suspension File: "2.88 4.32 33.12 127.92" +*ImageableArea w108h539/99018 Small Lever Arch: "4.08 4.32 104.88 522.72" +*ImageableArea w167h539/99019 Large Lever Arch: "4.08 4.32 163.68 522.72" +*ImageableArea w154h7680/Banner: "4.08 17.04 148.08 7663.92" +*ImageableArea w154h792/Continuous, Wide: "4.32 4.32 150.24 775.68" + +*DefaultPaperDimension: w167h288 +*PaperDimension w154h64/11351 Jewelry Label: "153.60 63.12" +*PaperDimension w72h154/11352 Return Address Int: "72.00 153.12" +*PaperDimension w72h72/11353 Multi-Purpose: "72.00 72.00" +*PaperDimension w162h90/11354 Multi-Purpose: "162.00 90.00" +*PaperDimension w54h144/11355 Multi-Purpose: "54.00 144.00" +*PaperDimension w118h252/11356 White Name badge: "117.12 252.00" +*PaperDimension w167h188/14681 CD/DVD Label: "166.32 187.20" +*PaperDimension w79h252/30252 Address: "78.96 252.00" +*PaperDimension w167h252/30253 Address (2 up): "166.32 252.00" +*PaperDimension w167h288/30256 Shipping: "166.56 288.00" +*PaperDimension w154h198/30258 Diskette: "153.12 198.00" +*PaperDimension w82h248/30277 File Folder (2 up): "81.12 247.44" +*PaperDimension w154h64.1/30299 Jewelry Label (2 up): "153.60 63.12" +*PaperDimension w79h252.1/30320 Address: "78.96 252.00" +*PaperDimension w102h252/30321 Large Address: "101.28 251.04" +*PaperDimension w154h286/30323 Shipping: "153.12 285.84" +*PaperDimension w154h198.1/30324 Diskette: "153.12 198.00" +*PaperDimension w54h424/30325 Video Spine: "54.00 423.12" +*PaperDimension w131h221/30326 Video Top: "130.56 220.56" +*PaperDimension w57h248/30327 File Folder: "56.40 247.44" +*PaperDimension w54h144.1/30330 Return Address: "54.00 144.00" +*PaperDimension w72h72.1/30332 1 in x 1 in: "72.00 72.00" +*PaperDimension w72h72.2/30333 1/2 in x 1 in (2 up): "72.00 72.00" +*PaperDimension w162h90.1/30334 2-1/4 in x 1-1/4 in: "162.00 90.00" +*PaperDimension 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "162.00 90.00" +*PaperDimension w73h86/30335 1/2 in x 1/2 in (4 up): "72.96 85.44" +*PaperDimension w72h154.1/30336 1 in x 2-1/8 in: "72.00 153.12" +*PaperDimension w118h252.1/30337 Audio Cassette: "117.12 252.00" +*PaperDimension w54h203/30339 8mm Video (2 up): "54.00 202.56" +*PaperDimension w54h180/30345 3/4 in x 2-1/2 in: "54.00 180.00" +*PaperDimension w36h136/30346 1/2 in x 1-7/8 in: "36.00 135.12" +*PaperDimension w72h108/30347 1 in x 1-1/2 in: "72.00 108.00" +*PaperDimension w65h90/30348 9/10 in x 1-1/4 in: "64.80 90.00" +*PaperDimension w167h288.1/30364 Name Badge Label: "166.56 288.00" +*PaperDimension w168h252/30365 Name Badge Card: "167.04 252.00" +*PaperDimension w144h169/30370 Zip Disk: "144.00 168.72" +*PaperDimension w71h144/30373 Price Tag Label: "70.32 144.00" +*PaperDimension w144h252/30374 Appointment Card: "144.00 252.00" +*PaperDimension w80h144/30376 Hanging File Insert: "79.20 144.00" +*PaperDimension w162h504/30383 PC Postage 3-Part: "162.00 504.00" +*PaperDimension 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "162.00 504.00" +*PaperDimension w167h540/30384 PC Postage 2-Part: "166.56 540.00" +*PaperDimension 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "166.56 540.00" +*PaperDimension w167h756/30387 PC Postage EPS: "166.56 756.00" +*PaperDimension 30387_PC_Postage_EPS/30387 PC Postage EPS: "166.56 756.00" +*PaperDimension w167h188.1/30854 CD Label: "166.32 187.20" +*PaperDimension w176h292/30856 Badge Card Label: "175.44 291.60" +*PaperDimension w167h288.2/30857 Badge Label: "166.56 288.00" +*PaperDimension w112h126/30886 CD Label: "111.36 126.00" +*PaperDimension w79h252.2/99010 Standard Address: "78.96 252.00" +*PaperDimension w102h252.1/99012 Large Address: "101.28 251.04" +*PaperDimension w154h286.1/99014 Name Badge Label: "153.12 285.84" +*PaperDimension w154h286.2/99014 Shipping: "153.12 285.84" +*PaperDimension w154h198.2/99015 Diskette: "153.12 198.00" +*PaperDimension w63h419/99016 Video Spine: "62.40 418.56" +*PaperDimension w139h221/99016 Video Top: "138.96 220.56" +*PaperDimension w36h144/99017 Suspension File: "36.00 144.00" +*PaperDimension w108h539/99018 Small Lever Arch: "107.76 538.56" +*PaperDimension w167h539/99019 Large Lever Arch: "166.56 538.56" +*PaperDimension w154h7680/Banner: "153.12 7680.00" +*PaperDimension w154h792/Continuous, Wide: "153.12 792.00" + +*% Custom page size support +*HWMargins: 0 0 0 0 +*NonUIOrderDependency: 100 AnySetup *CustomPageSize True +*CustomPageSize True/Custom Page Size: "pop pop pop <>setpagedevice" +*ParamCustomPageSize Width: 1 points 10 161.28 +*ParamCustomPageSize Height: 2 points 10 7680 +*ParamCustomPageSize WidthOffset/Width Offset: 3 points 0 0 +*ParamCustomPageSize HeightOffset/Height Offset: 4 points 0 0 +*ParamCustomPageSize Orientation: 5 int 0 0 + +*OpenUI *Resolution/Output Resolution: PickOne +*OrderDependency: 20 AnySetup *Resolution +*DefaultResolution: 300dpi +*Resolution 300dpi/300 DPI: "<>setpagedevice" +*Resolution 300x600dpi/300x600 DPI: "<>setpagedevice" +*CloseUI: *Resolution + +*OpenUI *DymoHalftoning/Halftoning: PickOne +*OrderDependency: 20 AnySetup *DymoHalftoning +*DefaultDymoHalftoning: ErrorDiffusion +*DymoHalftoning Default/Default: "<>setpagedevice" +*DymoHalftoning ErrorDiffusion/Error Diffusion: "<>setpagedevice" +*DymoHalftoning NLL/Nonlinear Dithering: "<>setpagedevice" + +*de.Translation DymoHalftoning/Halbtöne: "" +*de.DymoHalftoning Default/Standard: "" +*de.DymoHalftoning ErrorDiffusion/Fehlerstreuung: "" +*de.DymoHalftoning NLL/Nichtlineare Farbmischung: "" + +*es.Translation DymoHalftoning/Proceso de semitono: "" +*es.DymoHalftoning Default/Predeterminado: "" +*es.DymoHalftoning ErrorDiffusion/Difusión de errores: "" +*es.DymoHalftoning NLL/Interpolación no linear: "" + +*es_CO.Translation DymoHalftoning/Proceso de semitono: "" +*es_CO.DymoHalftoning Default/Predeterminado: "" +*es_CO.DymoHalftoning ErrorDiffusion/Difusión de errores: "" +*es_CO.DymoHalftoning NLL/Interpolación no linear: "" + +*fr.Translation DymoHalftoning/Tramage: "" +*fr.DymoHalftoning Default/Par défaut: "" +*fr.DymoHalftoning ErrorDiffusion/Diffusion d'erreur: "" +*fr.DymoHalftoning NLL/Juxtaposition non linéaire: "" + +*fr_CA.Translation DymoHalftoning/Tramage: "" +*fr_CA.DymoHalftoning Default/Par défaut: "" +*fr_CA.DymoHalftoning ErrorDiffusion/Diffusion d'erreur: "" +*fr_CA.DymoHalftoning NLL/Juxtaposition non linéaire: "" + +*it.Translation DymoHalftoning/Mezzitoni: "" +*it.DymoHalftoning Default/Predefinito: "" +*it.DymoHalftoning ErrorDiffusion/Diffusione errore: "" +*it.DymoHalftoning NLL/Retino non lineare: "" + +*nl.Translation DymoHalftoning/Halftoon: "" +*nl.DymoHalftoning Default/Standaard: "" +*nl.DymoHalftoning ErrorDiffusion/Foutdiffusie: "" +*nl.DymoHalftoning NLL/Niet-lineaire rastering: "" + +*pt.Translation DymoHalftoning/Meio-tom: "" +*pt.DymoHalftoning Default/Padrão: "" +*pt.DymoHalftoning ErrorDiffusion/Difusão de erro: "" +*pt.DymoHalftoning NLL/Pontilhado não linear: "" + +*pt_BR.Translation DymoHalftoning/Meio-tom: "" +*pt_BR.DymoHalftoning Default/Padrão: "" +*pt_BR.DymoHalftoning ErrorDiffusion/Difusão de erro: "" +*pt_BR.DymoHalftoning NLL/Pontilhado não linear: "" + +*CloseUI: *DymoHalftoning + +*OpenUI *DymoPrintDensity/Print Density: PickOne +*OrderDependency: 20 AnySetup *DymoPrintDensity +*DefaultDymoPrintDensity: Normal +*DymoPrintDensity Light/Light: "" +*DymoPrintDensity Medium/Medium: "" +*DymoPrintDensity Normal/Normal: "" +*DymoPrintDensity Dark/Dark: "" + +*de.Translation DymoPrintDensity/Druckdichte: "" +*de.DymoPrintDensity Light/Niedrig: "" +*de.DymoPrintDensity Medium/Mittel: "" +*de.DymoPrintDensity Normal/Normal: "" +*de.DymoPrintDensity Dark/Hoch: "" + +*es.Translation DymoPrintDensity/Densidad de impresión: "" +*es.DymoPrintDensity Light/Bajo: "" +*es.DymoPrintDensity Medium/Mediano: "" +*es.DymoPrintDensity Normal/Normal: "" +*es.DymoPrintDensity Dark/Alto: "" + +*es_CO.Translation DymoPrintDensity/Densidad de impresión: "" +*es_CO.DymoPrintDensity Light/Bajo: "" +*es_CO.DymoPrintDensity Medium/Mediano: "" +*es_CO.DymoPrintDensity Normal/Normal: "" +*es_CO.DymoPrintDensity Dark/Alto: "" + +*fr.Translation DymoPrintDensity/Densité d’impression: "" +*fr.DymoPrintDensity Light/Faible: "" +*fr.DymoPrintDensity Medium/Moyenne: "" +*fr.DymoPrintDensity Normal/Normale: "" +*fr.DymoPrintDensity Dark/Élevée: "" + +*fr_CA.Translation DymoPrintDensity/Densité d'impression: "" +*fr_CA.DymoPrintDensity Light/Faible: "" +*fr_CA.DymoPrintDensity Medium/Moyenne: "" +*fr_CA.DymoPrintDensity Normal/Normale: "" +*fr_CA.DymoPrintDensity Dark/Élevée: "" + +*it.Translation DymoPrintDensity/Densità di stampa: "" +*it.DymoPrintDensity Light/Leggera: "" +*it.DymoPrintDensity Medium/Media: "" +*it.DymoPrintDensity Normal/Normale: "" +*it.DymoPrintDensity Dark/Scura: "" + +*nl.Translation DymoPrintDensity/Afdrukdichtheid: "" +*nl.DymoPrintDensity Light/Laag: "" +*nl.DymoPrintDensity Medium/Middel: "" +*nl.DymoPrintDensity Normal/Normaal: "" +*nl.DymoPrintDensity Dark/Hoog: "" + +*pt.Translation DymoPrintDensity/Densid. de impressão: "" +*pt.DymoPrintDensity Light/Baixo: "" +*pt.DymoPrintDensity Medium/Médio: "" +*pt.DymoPrintDensity Normal/Normal: "" +*pt.DymoPrintDensity Dark/Alto: "" + +*pt_BR.Translation DymoPrintDensity/Densid. de impressão: "" +*pt_BR.DymoPrintDensity Light/Baixo: "" +*pt_BR.DymoPrintDensity Medium/Médio: "" +*pt_BR.DymoPrintDensity Normal/Normal: "" +*pt_BR.DymoPrintDensity Dark/Alto: "" + +*CloseUI: *DymoPrintDensity + +*OpenUI *DymoPrintQuality/Print Quality: PickOne +*OrderDependency: 21 AnySetup *DymoPrintQuality +*DefaultDymoPrintQuality: Text +*DymoPrintQuality Text/Text Only: "<>setpagedevice" +*DymoPrintQuality Graphics/Barcodes and Graphics: "<>setpagedevice" + +*de.Translation DymoPrintQuality/Druckqualität: "" +*de.DymoPrintQuality Text/Nur Text: "" +*de.DymoPrintQuality Graphics/Barcode und Grafik: "" + +*es.Translation DymoPrintQuality/Calidad de impresión: "" +*es.DymoPrintQuality Text/Sólo texto: "" +*es.DymoPrintQuality Graphics/Código de barras y gráficas: "" + +*es_CO.Translation DymoPrintQuality/Calidad de impresión: "" +*es_CO.DymoPrintQuality Text/Sólo texto: "" +*es_CO.DymoPrintQuality Graphics/Código de barras y gráficas: "" + +*fr.Translation DymoPrintQuality/Qualité d’impression: "" +*fr.DymoPrintQuality Text/Texte uniquement: "" +*fr.DymoPrintQuality Graphics/Code-barres et graphisme: "" + +*fr_CA.Translation DymoPrintQuality/Qualité d'impression: "" +*fr_CA.DymoPrintQuality Text/Texte uniquement: "" +*fr_CA.DymoPrintQuality Graphics/Code-barres et graphisme: "" + +*it.Translation DymoPrintQuality/Qualità della stampa: "" +*it.DymoPrintQuality Text/Solo testo: "" +*it.DymoPrintQuality Graphics/Codice a barre e grafica: "" + +*nl.Translation DymoPrintQuality/Afdrukkwaliteit: "" +*nl.DymoPrintQuality Text/Alleen tekst: "" +*nl.DymoPrintQuality Graphics/Streepjescode en afbeeldingen: "" + +*pt.Translation DymoPrintQuality/Qualid. da impressão: "" +*pt.DymoPrintQuality Text/Somente texto: "" +*pt.DymoPrintQuality Graphics/Código de barras e gráficos: "" + +*pt_BR.Translation DymoPrintQuality/Qualid. da impressão: "" +*pt_BR.DymoPrintQuality Text/Somente texto: "" +*pt_BR.DymoPrintQuality Graphics/Código de barras e gráficos: "" + +*CloseUI: *DymoPrintQuality + +*UIConstraints: *DymoPrintQuality Text *Resolution 300x600dpi +*UIConstraints: *DymoPrintQuality Graphics *Resolution 300dpi +*UIConstraints: *Resolution 300x600dpi *DymoPrintQuality Text +*UIConstraints: *Resolution 300dpi *DymoPrintQuality Graphics + +*DefaultFont: Courier +*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM +*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM +*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM +*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM +*Font Bookman-Demi: Standard "(001.004S)" Standard ROM +*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM +*Font Bookman-Light: Standard "(001.004S)" Standard ROM +*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM +*Font Courier: Standard "(002.004S)" Standard ROM +*Font Courier-Bold: Standard "(002.004S)" Standard ROM +*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM +*Font Courier-Oblique: Standard "(002.004S)" Standard ROM +*Font Helvetica: Standard "(001.006S)" Standard ROM +*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM +*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM +*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM +*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM +*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM +*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM +*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM +*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM +*Font Palatino-Bold: Standard "(001.005S)" Standard ROM +*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM +*Font Palatino-Italic: Standard "(001.005S)" Standard ROM +*Font Palatino-Roman: Standard "(001.005S)" Standard ROM +*Font Symbol: Special "(001.007S)" Special ROM +*Font Times-Bold: Standard "(001.007S)" Standard ROM +*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM +*Font Times-Italic: Standard "(001.007S)" Standard ROM +*Font Times-Roman: Standard "(001.007S)" Standard ROM +*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM +*Font ZapfDingbats: Special "(001.004S)" Standard ROM + +*% +*% End of "$Id: lw450.ppd 16401 2011-10-31 18:51:16Z pineichen $" +*% diff --git a/cups-config/cups/printers.conf b/cups-config/cups/printers.conf new file mode 100644 index 0000000..e292827 --- /dev/null +++ b/cups-config/cups/printers.conf @@ -0,0 +1,24 @@ +# Printer configuration file for CUPS v2.4.16 +# Written by cupsd +# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING +NextPrinterId 2 + +PrinterId 1 +UUID urn:uuid:e0ac4fa4-9ab4-3ad4-70e4-ffa942749675 +Info DYMO LabelWriter 450 +Location +MakeModel DYMO LabelWriter 450 +DeviceURI usb://DYMO/LabelWriter%20450?serial=13080117550634 +State Idle +StateTime 1778049613 +ConfigTime 1778048958 +Type 53316 +Accepting Yes +Shared Yes +JobSheets none none +QuotaPeriod 0 +PageLimit 0 +KLimit 0 +OpPolicy default +ErrorPolicy retry-job + diff --git a/cups-config/cups/printers.conf.O b/cups-config/cups/printers.conf.O new file mode 100644 index 0000000..3686006 --- /dev/null +++ b/cups-config/cups/printers.conf.O @@ -0,0 +1,24 @@ +# Printer configuration file for CUPS v2.4.16 +# Written by cupsd +# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING +NextPrinterId 2 + +PrinterId 1 +UUID urn:uuid:e0ac4fa4-9ab4-3ad4-70e4-ffa942749675 +Info DYMO LabelWriter 450 +Location +MakeModel DYMO LabelWriter 450 +DeviceURI usb://DYMO/LabelWriter%20450?serial=13080117550634 +State Idle +StateTime 1778049110 +ConfigTime 1778048958 +Type 53316 +Accepting Yes +Shared Yes +JobSheets none none +QuotaPeriod 0 +PageLimit 0 +KLimit 0 +OpPolicy default +ErrorPolicy retry-job + diff --git a/cups-config/cups/raw.convs b/cups-config/cups/raw.convs new file mode 100644 index 0000000..0bd0e29 --- /dev/null +++ b/cups-config/cups/raw.convs @@ -0,0 +1,5 @@ +# This file was generated by the cups package. You may change it, or +# reconfigure this file with dpkg-reconfigure. If it is removed, it +# will be regenerated by the package scripts. + +application/octet-stream application/vnd.cups-raw 0 - diff --git a/cups-config/cups/raw.types b/cups-config/cups/raw.types new file mode 100644 index 0000000..839755f --- /dev/null +++ b/cups-config/cups/raw.types @@ -0,0 +1,5 @@ +# This file was generated by the cups package. You may change it, or +# reconfigure this file with dpkg-reconfigure. If it is removed, it +# will be regenerated by the package scripts. + +application/octet-stream diff --git a/cups-config/cups/snmp.conf b/cups-config/cups/snmp.conf new file mode 100644 index 0000000..a7d1e3b --- /dev/null +++ b/cups-config/cups/snmp.conf @@ -0,0 +1,7 @@ +# +# SNMP configuration file for CUPS. See "man cups-snmp.conf" for a complete +# description of this file. +# + +Address @LOCAL +Community public diff --git a/demo.xml b/demo.xml new file mode 100644 index 0000000..dce3d38 --- /dev/null +++ b/demo.xml @@ -0,0 +1,44 @@ + + + Landscape + LargeShipping + 30256 Shipping + + + + + + TEXT + + + + Rotation0 + False + False + Left + Middle + AlwaysFit + True + False + + + T + + + + + + + EST123 + + + + + + + + + + \ No newline at end of file diff --git a/docker-compose.local.yaml b/docker-compose.local.yaml new file mode 100644 index 0000000..6222a0b --- /dev/null +++ b/docker-compose.local.yaml @@ -0,0 +1,16 @@ +services: + # 1. CUPS Printserver: beheert de USB-printer en drivers + + # 2. Jouw Node.js Applicatie + label-service: + build: . + container_name: label-service + restart: unless-stopped + volumes: + - ./labels:/app/labels + ports: + - "3000:3000" + extra_hosts: + - "host.docker.internal:host-gateway" + environment: + - PRINTER_URL=http://192.168.2.171:631/printers/dymo diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..57c4095 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,30 @@ +services: + # 1. CUPS Printserver: beheert de USB-printer en drivers + cups: + image: olbat/cupsd:latest + container_name: cups-server + privileged: true + restart: unless-stopped + ports: + - "631:631" + volumes: + - /dev/labelprinter:/dev/labelprinter + + environment: + - CUPS_ADMIN_USER=admin + - CUPS_ADMIN_PASSWORD=password + + # 2. Jouw Node.js Applicatie + label-service: + build: . + container_name: label-service + restart: unless-stopped + volumes: + - ./labels:/app/labels + ports: + - "80:3000" + environment: + - PRINTER_URL=http://cups:631/printers/dymo + - API_BASE=labels/ + depends_on: + - cups \ No newline at end of file diff --git a/dymo.ppd b/dymo.ppd new file mode 100644 index 0000000..92d51bc --- /dev/null +++ b/dymo.ppd @@ -0,0 +1,628 @@ +*PPD-Adobe: "4.3" + +*% $Id: lw450.ppd 16401 2011-10-31 18:51:16Z pineichen $ + +*% DYMO LabelWriter Drivers +*% Copyright (C) 2009 Sanford L.P. + +*% 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. + +*% This program 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 program; if not, write to the Free Software +*% Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*FormatVersion: "4.3" +*FileVersion: "3.0" +*LanguageVersion: English +*LanguageEncoding: ISOLatin1 +*PCFileName: "LW450.PPD" +*Manufacturer: "DYMO" +*Product: "(DYMO LabelWriter 450)" +*cupsVersion: 1.2 +*cupsManualCopies: False +*cupsFilter: "application/vnd.cups-raster 0 raster2dymolw" +*cupsModelNumber: 0 +*PSVersion: "(3010.000) 550" +*LanguageLevel: "3" +*ColorDevice: False +*DefaultColorSpace: Gray +*FileSystem: False +*Throughput: "8" +*LandscapeOrientation: Minus90 +*TTRasterizer: Type42 + +*ModelName: "DYMO LabelWriter 450" +*NickName: "DYMO LabelWriter 450" +*ShortNickName: "DYMO LabelWriter 450" +*APPrinterIconPath: "/Library/Printers/DYMO/CUPS/Resources/LW450.icns" + +*cupsIPPReason com.dymo.out-of-paper-error/Out of labels. : "" +*cupsIPPReason com.dymo.read-error/Cannot read data from printer. : "" +*cupsIPPReason com.dymo.ready/Printer is ready. : "" +*cupsIPPReason com.dymo.general-error/General print error. : "" +*cupsIPPReason com.dymo.head-overheat-error/Print head is overheated. : "" +*cupsIPPReason com.dymo.slot-status-error/Label path is blocked. : "" +*cupsIPPReason com.dymo.busy-error/The printer is currently in use. : "" +*cupsIPPReason com.dymo.paper-size-error/Label being printed does not match label width currently in printer. : "" +*cupsIPPReason com.dymo.paper-size-undefine-error/Insert a label cassette in the printer. : "" + +*de.cupsIPPReason com.dymo.out-of-paper-error/Keine Etiketten mehr. : "" +*de.cupsIPPReason com.dymo.read-error/Kann keine Daten vom Drucker lesen. : "" +*de.cupsIPPReason com.dymo.ready/Drucker ist bereit. : "" +*de.cupsIPPReason com.dymo.general-error/Allgemeiner Fehler beim Drucken. : "" +*de.cupsIPPReason com.dymo.head-overheat-error/Druckkopf ist zu heiß. : "" +*de.cupsIPPReason com.dymo.slot-status-error/Etikettenzuführung ist blockiert. : "" +*de.cupsIPPReason com.dymo.busy-error/Der Drucker wird gegenwärtig verwendet. : "" +*de.cupsIPPReason com.dymo.paper-size-error/Zu druckendes Etikett passt nicht zur Breite der Etiketten im Drucker. : "" +*de.cupsIPPReason com.dymo.paper-size-undefine-error/Legen Sie eine Etikettenkassette in den Drucker ein. : "" + +*es.cupsIPPReason com.dymo.out-of-paper-error/No tiene etiquetas. : "" +*es.cupsIPPReason com.dymo.read-error/No se pueden leer los datos de la impresora. : "" +*es.cupsIPPReason com.dymo.ready/La impresora está lista. : "" +*es.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*es.cupsIPPReason com.dymo.head-overheat-error/El cabezal de impresión está sobrecalentado. : "" +*es.cupsIPPReason com.dymo.slot-status-error/La trayectoria de la etiqueta está bloqueada. : "" +*es.cupsIPPReason com.dymo.busy-error/La impresora se encuentra actualmente en uso. : "" +*es.cupsIPPReason com.dymo.paper-size-error/La etiqueta que se imprime no coincide con el ancho actual de la impresora. : "" +*es.cupsIPPReason com.dymo.paper-size-undefine-error/Inserte un cartucho de etiquetas en la impresora. : "" + +*es_CO.cupsIPPReason com.dymo.out-of-paper-error/No tiene etiquetas. : "" +*es_CO.cupsIPPReason com.dymo.read-error/No se pueden leer los datos de la impresora. : "" +*es_CO.cupsIPPReason com.dymo.ready/La impresora está lista. : "" +*es_CO.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*es_CO.cupsIPPReason com.dymo.head-overheat-error/El cabezal de impresión está sobrecalentado. : "" +*es_CO.cupsIPPReason com.dymo.slot-status-error/La trayectoria de la etiqueta está bloqueada. : "" +*es_CO.cupsIPPReason com.dymo.busy-error/La impresora se encuentra actualmente en uso. : "" +*es_CO.cupsIPPReason com.dymo.paper-size-error/La etiqueta que se imprime no coincide con el ancho actual de la impresora. : "" +*es_CO.cupsIPPReason com.dymo.paper-size-undefine-error/Inserte un cartucho de etiquetas en la impresora. : "" + +*fr.cupsIPPReason com.dymo.out-of-paper-error/Quantité d’étiquettes insuffisante. : "" +*fr.cupsIPPReason com.dymo.read-error/Impossible de lire les données depuis l'imprimante. : "" +*fr.cupsIPPReason com.dymo.ready/Imprimante prête. : "" +*fr.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*fr.cupsIPPReason com.dymo.head-overheat-error/Tête d'impression surchauffée. : "" +*fr.cupsIPPReason com.dymo.slot-status-error/Chemin des étiquettes bloqué. : "" +*fr.cupsIPPReason com.dymo.busy-error/Imprimante en cours d'utilisation. : "" +*fr.cupsIPPReason com.dymo.paper-size-error/Étiquette en cours d'impression pas de la même largeur que dans l'imprimante. : "" +*fr.cupsIPPReason com.dymo.paper-size-undefine-error/Insérer une cassette d'étiquettes dans l'imprimante. : "" + +*fr_CA.cupsIPPReason com.dymo.out-of-paper-error/Quantité d’étiquettes insuffisante. : "" +*fr_CA.cupsIPPReason com.dymo.read-error/Impossible de lire les données depuis l'imprimante. : "" +*fr_CA.cupsIPPReason com.dymo.ready/Imprimante prête. : "" +*fr_CA.cupsIPPReason com.dymo.general-error/Erreur d'impression générale. : "" +*fr_CA.cupsIPPReason com.dymo.head-overheat-error/Tête d'impression surchauffée. : "" +*fr_CA.cupsIPPReason com.dymo.slot-status-error/Chemin des étiquettes bloqué. : "" +*fr_CA.cupsIPPReason com.dymo.busy-error/Imprimante en cours d'utilisation. : "" +*fr_CA.cupsIPPReason com.dymo.paper-size-error/Étiquette en cours d'impression pas de la même largeur que dans l'imprimante. : "" +*fr_CA.cupsIPPReason com.dymo.paper-size-undefine-error/Insérer une cassette d'étiquettes dans l'imprimante. : "" + +*it.cupsIPPReason com.dymo.out-of-paper-error/Etichette esaurite. : "" +*it.cupsIPPReason com.dymo.read-error/Impossibile leggere i dati dalla stampante. : "" +*it.cupsIPPReason com.dymo.ready/Stampante pronta. : "" +*it.cupsIPPReason com.dymo.general-error/Errore generico di stampa. : "" +*it.cupsIPPReason com.dymo.head-overheat-error/Testina di stampa surriscaldata. : "" +*it.cupsIPPReason com.dymo.slot-status-error/Percorso etichetta bloccato. : "" +*it.cupsIPPReason com.dymo.busy-error/Stampante attualmente in uso. : "" +*it.cupsIPPReason com.dymo.paper-size-error/L'etichetta in stampa è diversa dalla larghezza impostata nella stampante. : "" +*it.cupsIPPReason com.dymo.paper-size-undefine-error/Inserire una cartuccia etichette nella stampante. : "" + +*nl.cupsIPPReason com.dymo.out-of-paper-error/Labels zijn op. : "" +*nl.cupsIPPReason com.dymo.read-error/Kan gegevens van de printer niet lezen. : "" +*nl.cupsIPPReason com.dymo.ready/Printer is gereed. : "" +*nl.cupsIPPReason com.dymo.general-error/Algemene afdrukfout. : "" +*nl.cupsIPPReason com.dymo.head-overheat-error/Printkop is oververhit. : "" +*nl.cupsIPPReason com.dymo.slot-status-error/Labelspoor is geblokkeerd. : "" +*nl.cupsIPPReason com.dymo.busy-error/De printer is momenteel in gebruik. : "" +*nl.cupsIPPReason com.dymo.paper-size-error/De af te drukken label komt niet overeen met de labelbreedte in de printer. : "" +*nl.cupsIPPReason com.dymo.paper-size-undefine-error/Plaats een labelcassette in de printer. : "" + +*pt.cupsIPPReason com.dymo.out-of-paper-error/Sem etiquetas. : "" +*pt.cupsIPPReason com.dymo.read-error/Não é possível ler dados da impressora. : "" +*pt.cupsIPPReason com.dymo.ready/A impressora está pronta. : "" +*pt.cupsIPPReason com.dymo.general-error/Erro geral de impressão. : "" +*pt.cupsIPPReason com.dymo.head-overheat-error/A cabeça de impressão está superaquecida. : "" +*pt.cupsIPPReason com.dymo.slot-status-error/O caminho da etiqueta está bloqueado. : "" +*pt.cupsIPPReason com.dymo.busy-error/A impressora está em uso no momento. : "" +*pt.cupsIPPReason com.dymo.paper-size-error/A etiqueta sendo impressa não coincide com a largura da etiqueta na impressora. : "" +*pt.cupsIPPReason com.dymo.paper-size-undefine-error/Inserir um cassete de etiquetas na impressora. : "" + +*pt_BR.cupsIPPReason com.dymo.out-of-paper-error/Sem etiquetas. : "" +*pt_BR.cupsIPPReason com.dymo.read-error/Não é possível ler dados da impressora. : "" +*pt_BR.cupsIPPReason com.dymo.ready/A impressora está pronta. : "" +*pt_BR.cupsIPPReason com.dymo.general-error/Erro geral de impressão. : "" +*pt_BR.cupsIPPReason com.dymo.head-overheat-error/A cabeça de impressão está superaquecida. : "" +*pt_BR.cupsIPPReason com.dymo.slot-status-error/O caminho da etiqueta está bloqueado. : "" +*pt_BR.cupsIPPReason com.dymo.busy-error/A impressora está em uso no momento. : "" +*pt_BR.cupsIPPReason com.dymo.paper-size-error/A etiqueta sendo impressa não coincide com a largura da etiqueta na impressora. : "" +*pt_BR.cupsIPPReason com.dymo.paper-size-undefine-error/Inserir um cassete de etiquetas na impressora. : "" + +*OpenUI *PageSize/Media Size: PickOne +*OrderDependency: 10 AnySetup *PageSize +*DefaultPageSize: w167h288 +*PageSize w154h64/11351 Jewelry Label: "<>setpagedevice" +*PageSize w72h154/11352 Return Address Int: "<>setpagedevice" +*PageSize w72h72/11353 Multi-Purpose: "<>setpagedevice" +*PageSize w162h90/11354 Multi-Purpose: "<>setpagedevice" +*PageSize w54h144/11355 Multi-Purpose: "<>setpagedevice" +*PageSize w118h252/11356 White Name badge: "<>setpagedevice" +*PageSize w167h188/14681 CD/DVD Label: "<>setpagedevice" +*PageSize w79h252/30252 Address: "<>setpagedevice" +*PageSize w167h252/30253 Address (2 up): "<>setpagedevice" +*PageSize w167h288/30256 Shipping: "<>setpagedevice" +*PageSize w154h198/30258 Diskette: "<>setpagedevice" +*PageSize w82h248/30277 File Folder (2 up): "<>setpagedevice" +*PageSize w154h64.1/30299 Jewelry Label (2 up): "<>setpagedevice" +*PageSize w79h252.1/30320 Address: "<>setpagedevice" +*PageSize w102h252/30321 Large Address: "<>setpagedevice" +*PageSize w154h286/30323 Shipping: "<>setpagedevice" +*PageSize w154h198.1/30324 Diskette: "<>setpagedevice" +*PageSize w54h424/30325 Video Spine: "<>setpagedevice" +*PageSize w131h221/30326 Video Top: "<>setpagedevice" +*PageSize w57h248/30327 File Folder: "<>setpagedevice" +*PageSize w54h144.1/30330 Return Address: "<>setpagedevice" +*PageSize w72h72.1/30332 1 in x 1 in: "<>setpagedevice" +*PageSize w72h72.2/30333 1/2 in x 1 in (2 up): "<>setpagedevice" +*PageSize w162h90.1/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageSize 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageSize w73h86/30335 1/2 in x 1/2 in (4 up): "<>setpagedevice" +*PageSize w72h154.1/30336 1 in x 2-1/8 in: "<>setpagedevice" +*PageSize w118h252.1/30337 Audio Cassette: "<>setpagedevice" +*PageSize w54h203/30339 8mm Video (2 up): "<>setpagedevice" +*PageSize w54h180/30345 3/4 in x 2-1/2 in: "<>setpagedevice" +*PageSize w36h136/30346 1/2 in x 1-7/8 in: "<>setpagedevice" +*PageSize w72h108/30347 1 in x 1-1/2 in: "<>setpagedevice" +*PageSize w65h90/30348 9/10 in x 1-1/4 in: "<>setpagedevice" +*PageSize w167h288.1/30364 Name Badge Label: "<>setpagedevice" +*PageSize w168h252/30365 Name Badge Card: "<>setpagedevice" +*PageSize w144h169/30370 Zip Disk: "<>setpagedevice" +*PageSize w71h144/30373 Price Tag Label: "<>setpagedevice" +*PageSize w144h252/30374 Appointment Card: "<>setpagedevice" +*PageSize w80h144/30376 Hanging File Insert: "<>setpagedevice" +*PageSize w162h504/30383 PC Postage 3-Part: "<>setpagedevice" +*PageSize 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "<>setpagedevice" +*PageSize w167h540/30384 PC Postage 2-Part: "<>setpagedevice" +*PageSize 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "<>setpagedevice" +*PageSize w167h756/30387 PC Postage EPS: "<>setpagedevice" +*PageSize 30387_PC_Postage_EPS/30387 PC Postage EPS: "<>setpagedevice" +*PageSize w167h188.1/30854 CD Label: "<>setpagedevice" +*PageSize w176h292/30856 Badge Card Label: "<>setpagedevice" +*PageSize w167h288.2/30857 Badge Label: "<>setpagedevice" +*PageSize w112h126/30886 CD Label: "<>setpagedevice" +*PageSize w79h252.2/99010 Standard Address: "<>setpagedevice" +*PageSize w102h252.1/99012 Large Address: "<>setpagedevice" +*PageSize w154h286.1/99014 Name Badge Label: "<>setpagedevice" +*PageSize w154h286.2/99014 Shipping: "<>setpagedevice" +*PageSize w154h198.2/99015 Diskette: "<>setpagedevice" +*PageSize w63h419/99016 Video Spine: "<>setpagedevice" +*PageSize w139h221/99016 Video Top: "<>setpagedevice" +*PageSize w36h144/99017 Suspension File: "<>setpagedevice" +*PageSize w108h539/99018 Small Lever Arch: "<>setpagedevice" +*PageSize w167h539/99019 Large Lever Arch: "<>setpagedevice" +*PageSize w154h7680/Banner: "<>setpagedevice" +*PageSize w154h792/Continuous, Wide: "<>setpagedevice" +*CloseUI: *PageSize + +*OpenUI *PageRegion: PickOne +*OrderDependency: 10 AnySetup *PageRegion +*DefaultPageRegion: w167h288 +*PageRegion w154h64/11351 Jewelry Label: "<>setpagedevice" +*PageRegion w72h154/11352 Return Address Int: "<>setpagedevice" +*PageRegion w72h72/11353 Multi-Purpose: "<>setpagedevice" +*PageRegion w162h90/11354 Multi-Purpose: "<>setpagedevice" +*PageRegion w54h144/11355 Multi-Purpose: "<>setpagedevice" +*PageRegion w118h252/11356 White Name badge: "<>setpagedevice" +*PageRegion w167h188/14681 CD/DVD Label: "<>setpagedevice" +*PageRegion w79h252/30252 Address: "<>setpagedevice" +*PageRegion w167h252/30253 Address (2 up): "<>setpagedevice" +*PageRegion w167h288/30256 Shipping: "<>setpagedevice" +*PageRegion w154h198/30258 Diskette: "<>setpagedevice" +*PageRegion w82h248/30277 File Folder (2 up): "<>setpagedevice" +*PageRegion w154h64.1/30299 Jewelry Label (2 up): "<>setpagedevice" +*PageRegion w79h252.1/30320 Address: "<>setpagedevice" +*PageRegion w102h252/30321 Large Address: "<>setpagedevice" +*PageRegion w154h286/30323 Shipping: "<>setpagedevice" +*PageRegion w154h198.1/30324 Diskette: "<>setpagedevice" +*PageRegion w54h424/30325 Video Spine: "<>setpagedevice" +*PageRegion w131h221/30326 Video Top: "<>setpagedevice" +*PageRegion w57h248/30327 File Folder: "<>setpagedevice" +*PageRegion w54h144.1/30330 Return Address: "<>setpagedevice" +*PageRegion w72h72.1/30332 1 in x 1 in: "<>setpagedevice" +*PageRegion w72h72.2/30333 1/2 in x 1 in (2 up): "<>setpagedevice" +*PageRegion w162h90.1/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageRegion 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "<>setpagedevice" +*PageRegion w73h86/30335 1/2 in x 1/2 in (4 up): "<>setpagedevice" +*PageRegion w72h154.1/30336 1 in x 2-1/8 in: "<>setpagedevice" +*PageRegion w118h252.1/30337 Audio Cassette: "<>setpagedevice" +*PageRegion w54h203/30339 8mm Video (2 up): "<>setpagedevice" +*PageRegion w54h180/30345 3/4 in x 2-1/2 in: "<>setpagedevice" +*PageRegion w36h136/30346 1/2 in x 1-7/8 in: "<>setpagedevice" +*PageRegion w72h108/30347 1 in x 1-1/2 in: "<>setpagedevice" +*PageRegion w65h90/30348 9/10 in x 1-1/4 in: "<>setpagedevice" +*PageRegion w167h288.1/30364 Name Badge Label: "<>setpagedevice" +*PageRegion w168h252/30365 Name Badge Card: "<>setpagedevice" +*PageRegion w144h169/30370 Zip Disk: "<>setpagedevice" +*PageRegion w71h144/30373 Price Tag Label: "<>setpagedevice" +*PageRegion w144h252/30374 Appointment Card: "<>setpagedevice" +*PageRegion w80h144/30376 Hanging File Insert: "<>setpagedevice" +*PageRegion w162h504/30383 PC Postage 3-Part: "<>setpagedevice" +*PageRegion 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "<>setpagedevice" +*PageRegion w167h540/30384 PC Postage 2-Part: "<>setpagedevice" +*PageRegion 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "<>setpagedevice" +*PageRegion w167h756/30387 PC Postage EPS: "<>setpagedevice" +*PageRegion 30387_PC_Postage_EPS/30387 PC Postage EPS: "<>setpagedevice" +*PageRegion w167h188.1/30854 CD Label: "<>setpagedevice" +*PageRegion w176h292/30856 Badge Card Label: "<>setpagedevice" +*PageRegion w167h288.2/30857 Badge Label: "<>setpagedevice" +*PageRegion w112h126/30886 CD Label: "<>setpagedevice" +*PageRegion w79h252.2/99010 Standard Address: "<>setpagedevice" +*PageRegion w102h252.1/99012 Large Address: "<>setpagedevice" +*PageRegion w154h286.1/99014 Name Badge Label: "<>setpagedevice" +*PageRegion w154h286.2/99014 Shipping: "<>setpagedevice" +*PageRegion w154h198.2/99015 Diskette: "<>setpagedevice" +*PageRegion w63h419/99016 Video Spine: "<>setpagedevice" +*PageRegion w139h221/99016 Video Top: "<>setpagedevice" +*PageRegion w36h144/99017 Suspension File: "<>setpagedevice" +*PageRegion w108h539/99018 Small Lever Arch: "<>setpagedevice" +*PageRegion w167h539/99019 Large Lever Arch: "<>setpagedevice" +*PageRegion w154h7680/Banner: "<>setpagedevice" +*PageRegion w154h792/Continuous, Wide: "<>setpagedevice" +*CloseUI: *PageRegion + +*DefaultImageableArea: w167h288 +*ImageableArea w154h64/11351 Jewelry Label: "0.00 4.32 150.72 58.80" +*ImageableArea w72h154/11352 Return Address Int: "4.08 4.32 69.12 146.64" +*ImageableArea w72h72/11353 Multi-Purpose: "4.08 4.32 69.12 65.28" +*ImageableArea w162h90/11354 Multi-Purpose: "2.88 4.32 159.12 85.68" +*ImageableArea w54h144/11355 Multi-Purpose: "4.08 4.32 51.12 127.68" +*ImageableArea w118h252/11356 White Name badge: "4.08 4.32 114.24 235.44" +*ImageableArea w167h188/14681 CD/DVD Label: "4.08 17.04 161.28 170.40" +*ImageableArea w79h252/30252 Address: "4.32 4.32 76.08 235.44" +*ImageableArea w167h252/30253 Address (2 up): "4.08 4.32 163.44 235.68" +*ImageableArea w167h288/30256 Shipping: "4.08 4.32 163.68 271.20" +*ImageableArea w154h198/30258 Diskette: "4.08 4.32 150.24 182.16" +*ImageableArea w82h248/30277 File Folder (2 up): "4.32 4.32 78.24 233.04" +*ImageableArea w154h64.1/30299 Jewelry Label (2 up): "0.00 4.32 150.72 58.80" +*ImageableArea w79h252.1/30320 Address: "4.32 4.32 76.08 235.44" +*ImageableArea w102h252/30321 Large Address: "4.32 4.32 98.40 234.96" +*ImageableArea w154h286/30323 Shipping: "4.32 4.32 150.24 270.48" +*ImageableArea w154h198.1/30324 Diskette: "2.88 4.32 150.24 182.16" +*ImageableArea w54h424/30325 Video Spine: "2.88 4.32 51.12 407.28" +*ImageableArea w131h221/30326 Video Top: "4.08 4.32 127.68 204.72" +*ImageableArea w57h248/30327 File Folder: "0.00 4.32 53.52 231.60" +*ImageableArea w54h144.1/30330 Return Address: "4.08 4.32 51.12 127.68" +*ImageableArea w72h72.1/30332 1 in x 1 in: "4.08 4.32 69.12 64.80" +*ImageableArea w72h72.2/30333 1/2 in x 1 in (2 up): "4.08 4.32 69.12 65.28" +*ImageableArea w162h90.1/30334 2-1/4 in x 1-1/4 in: "2.88 4.32 159.12 85.68" +*ImageableArea 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "2.88 4.32 159.12 85.68" +*ImageableArea w73h86/30335 1/2 in x 1/2 in (4 up): "0.00 4.32 70.08 81.12" +*ImageableArea w72h154.1/30336 1 in x 2-1/8 in: "4.08 4.32 69.12 146.64" +*ImageableArea w118h252.1/30337 Audio Cassette: "4.08 4.32 114.24 235.44" +*ImageableArea w54h203/30339 8mm Video (2 up): "4.08 4.32 51.12 186.72" +*ImageableArea w54h180/30345 3/4 in x 2-1/2 in: "4.08 4.32 51.12 163.68" +*ImageableArea w36h136/30346 1/2 in x 1-7/8 in: "4.08 4.32 33.12 118.80" +*ImageableArea w72h108/30347 1 in x 1-1/2 in: "4.08 4.32 69.12 91.68" +*ImageableArea w65h90/30348 9/10 in x 1-1/4 in: "5.04 4.32 61.92 73.68" +*ImageableArea w167h288.1/30364 Name Badge Label: "4.08 4.32 163.68 271.20" +*ImageableArea w168h252/30365 Name Badge Card: "0.00 4.32 161.28 225.12" +*ImageableArea w144h169/30370 Zip Disk: "4.32 4.32 141.12 152.88" +*ImageableArea w71h144/30373 Price Tag Label: "0.00 85.44 67.44 139.68" +*ImageableArea w144h252/30374 Appointment Card: "8.64 4.32 141.12 225.12" +*ImageableArea w80h144/30376 Hanging File Insert: "8.64 4.32 76.32 121.44" +*ImageableArea w162h504/30383 PC Postage 3-Part: "4.08 4.32 159.12 488.16" +*ImageableArea 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "4.08 4.32 159.12 488.16" +*ImageableArea w167h540/30384 PC Postage 2-Part: "4.08 4.32 163.68 524.16" +*ImageableArea 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "4.08 4.32 163.68 524.16" +*ImageableArea w167h756/30387 PC Postage EPS: "4.08 4.32 163.68 740.16" +*ImageableArea 30387_PC_Postage_EPS/30387 PC Postage EPS: "4.08 4.32 163.68 740.16" +*ImageableArea w167h188.1/30854 CD Label: "4.08 17.04 161.28 170.40" +*ImageableArea w176h292/30856 Badge Card Label: "0.00 4.32 161.28 264.72" +*ImageableArea w167h288.2/30857 Badge Label: "4.08 4.32 163.68 271.20" +*ImageableArea w112h126/30886 CD Label: "4.32 18.00 102.24 110.16" +*ImageableArea w79h252.2/99010 Standard Address: "4.32 4.32 76.08 235.44" +*ImageableArea w102h252.1/99012 Large Address: "4.32 4.32 98.40 234.96" +*ImageableArea w154h286.1/99014 Name Badge Label: "4.32 4.32 150.24 270.48" +*ImageableArea w154h286.2/99014 Shipping: "4.32 4.32 150.24 270.48" +*ImageableArea w154h198.2/99015 Diskette: "2.88 4.32 150.24 182.16" +*ImageableArea w63h419/99016 Video Spine: "0.00 4.32 59.52 402.24" +*ImageableArea w139h221/99016 Video Top: "0.00 4.32 136.08 204.48" +*ImageableArea w36h144/99017 Suspension File: "2.88 4.32 33.12 127.92" +*ImageableArea w108h539/99018 Small Lever Arch: "4.08 4.32 104.88 522.72" +*ImageableArea w167h539/99019 Large Lever Arch: "4.08 4.32 163.68 522.72" +*ImageableArea w154h7680/Banner: "4.08 17.04 148.08 7663.92" +*ImageableArea w154h792/Continuous, Wide: "4.32 4.32 150.24 775.68" + +*DefaultPaperDimension: w167h288 +*PaperDimension w154h64/11351 Jewelry Label: "153.60 63.12" +*PaperDimension w72h154/11352 Return Address Int: "72.00 153.12" +*PaperDimension w72h72/11353 Multi-Purpose: "72.00 72.00" +*PaperDimension w162h90/11354 Multi-Purpose: "162.00 90.00" +*PaperDimension w54h144/11355 Multi-Purpose: "54.00 144.00" +*PaperDimension w118h252/11356 White Name badge: "117.12 252.00" +*PaperDimension w167h188/14681 CD/DVD Label: "166.32 187.20" +*PaperDimension w79h252/30252 Address: "78.96 252.00" +*PaperDimension w167h252/30253 Address (2 up): "166.32 252.00" +*PaperDimension w167h288/30256 Shipping: "166.56 288.00" +*PaperDimension w154h198/30258 Diskette: "153.12 198.00" +*PaperDimension w82h248/30277 File Folder (2 up): "81.12 247.44" +*PaperDimension w154h64.1/30299 Jewelry Label (2 up): "153.60 63.12" +*PaperDimension w79h252.1/30320 Address: "78.96 252.00" +*PaperDimension w102h252/30321 Large Address: "101.28 251.04" +*PaperDimension w154h286/30323 Shipping: "153.12 285.84" +*PaperDimension w154h198.1/30324 Diskette: "153.12 198.00" +*PaperDimension w54h424/30325 Video Spine: "54.00 423.12" +*PaperDimension w131h221/30326 Video Top: "130.56 220.56" +*PaperDimension w57h248/30327 File Folder: "56.40 247.44" +*PaperDimension w54h144.1/30330 Return Address: "54.00 144.00" +*PaperDimension w72h72.1/30332 1 in x 1 in: "72.00 72.00" +*PaperDimension w72h72.2/30333 1/2 in x 1 in (2 up): "72.00 72.00" +*PaperDimension w162h90.1/30334 2-1/4 in x 1-1/4 in: "162.00 90.00" +*PaperDimension 30334_2-1_4_in_x_1-1_4_in/30334 2-1/4 in x 1-1/4 in: "162.00 90.00" +*PaperDimension w73h86/30335 1/2 in x 1/2 in (4 up): "72.96 85.44" +*PaperDimension w72h154.1/30336 1 in x 2-1/8 in: "72.00 153.12" +*PaperDimension w118h252.1/30337 Audio Cassette: "117.12 252.00" +*PaperDimension w54h203/30339 8mm Video (2 up): "54.00 202.56" +*PaperDimension w54h180/30345 3/4 in x 2-1/2 in: "54.00 180.00" +*PaperDimension w36h136/30346 1/2 in x 1-7/8 in: "36.00 135.12" +*PaperDimension w72h108/30347 1 in x 1-1/2 in: "72.00 108.00" +*PaperDimension w65h90/30348 9/10 in x 1-1/4 in: "64.80 90.00" +*PaperDimension w167h288.1/30364 Name Badge Label: "166.56 288.00" +*PaperDimension w168h252/30365 Name Badge Card: "167.04 252.00" +*PaperDimension w144h169/30370 Zip Disk: "144.00 168.72" +*PaperDimension w71h144/30373 Price Tag Label: "70.32 144.00" +*PaperDimension w144h252/30374 Appointment Card: "144.00 252.00" +*PaperDimension w80h144/30376 Hanging File Insert: "79.20 144.00" +*PaperDimension w162h504/30383 PC Postage 3-Part: "162.00 504.00" +*PaperDimension 30383_PC_Postage_3-Part/30383 PC Postage 3-Part: "162.00 504.00" +*PaperDimension w167h540/30384 PC Postage 2-Part: "166.56 540.00" +*PaperDimension 30384_PC_Postage_2-Part/30384 PC Postage 2-Part: "166.56 540.00" +*PaperDimension w167h756/30387 PC Postage EPS: "166.56 756.00" +*PaperDimension 30387_PC_Postage_EPS/30387 PC Postage EPS: "166.56 756.00" +*PaperDimension w167h188.1/30854 CD Label: "166.32 187.20" +*PaperDimension w176h292/30856 Badge Card Label: "175.44 291.60" +*PaperDimension w167h288.2/30857 Badge Label: "166.56 288.00" +*PaperDimension w112h126/30886 CD Label: "111.36 126.00" +*PaperDimension w79h252.2/99010 Standard Address: "78.96 252.00" +*PaperDimension w102h252.1/99012 Large Address: "101.28 251.04" +*PaperDimension w154h286.1/99014 Name Badge Label: "153.12 285.84" +*PaperDimension w154h286.2/99014 Shipping: "153.12 285.84" +*PaperDimension w154h198.2/99015 Diskette: "153.12 198.00" +*PaperDimension w63h419/99016 Video Spine: "62.40 418.56" +*PaperDimension w139h221/99016 Video Top: "138.96 220.56" +*PaperDimension w36h144/99017 Suspension File: "36.00 144.00" +*PaperDimension w108h539/99018 Small Lever Arch: "107.76 538.56" +*PaperDimension w167h539/99019 Large Lever Arch: "166.56 538.56" +*PaperDimension w154h7680/Banner: "153.12 7680.00" +*PaperDimension w154h792/Continuous, Wide: "153.12 792.00" + +*% Custom page size support +*HWMargins: 0 0 0 0 +*NonUIOrderDependency: 100 AnySetup *CustomPageSize True +*CustomPageSize True/Custom Page Size: "pop pop pop <>setpagedevice" +*ParamCustomPageSize Width: 1 points 10 161.28 +*ParamCustomPageSize Height: 2 points 10 7680 +*ParamCustomPageSize WidthOffset/Width Offset: 3 points 0 0 +*ParamCustomPageSize HeightOffset/Height Offset: 4 points 0 0 +*ParamCustomPageSize Orientation: 5 int 0 0 + +*OpenUI *Resolution/Output Resolution: PickOne +*OrderDependency: 20 AnySetup *Resolution +*DefaultResolution: 300dpi +*Resolution 300dpi/300 DPI: "<>setpagedevice" +*Resolution 300x600dpi/300x600 DPI: "<>setpagedevice" +*CloseUI: *Resolution + +*OpenUI *DymoHalftoning/Halftoning: PickOne +*OrderDependency: 20 AnySetup *DymoHalftoning +*DefaultDymoHalftoning: ErrorDiffusion +*DymoHalftoning Default/Default: "<>setpagedevice" +*DymoHalftoning ErrorDiffusion/Error Diffusion: "<>setpagedevice" +*DymoHalftoning NLL/Nonlinear Dithering: "<>setpagedevice" + +*de.Translation DymoHalftoning/Halbtöne: "" +*de.DymoHalftoning Default/Standard: "" +*de.DymoHalftoning ErrorDiffusion/Fehlerstreuung: "" +*de.DymoHalftoning NLL/Nichtlineare Farbmischung: "" + +*es.Translation DymoHalftoning/Proceso de semitono: "" +*es.DymoHalftoning Default/Predeterminado: "" +*es.DymoHalftoning ErrorDiffusion/Difusión de errores: "" +*es.DymoHalftoning NLL/Interpolación no linear: "" + +*es_CO.Translation DymoHalftoning/Proceso de semitono: "" +*es_CO.DymoHalftoning Default/Predeterminado: "" +*es_CO.DymoHalftoning ErrorDiffusion/Difusión de errores: "" +*es_CO.DymoHalftoning NLL/Interpolación no linear: "" + +*fr.Translation DymoHalftoning/Tramage: "" +*fr.DymoHalftoning Default/Par défaut: "" +*fr.DymoHalftoning ErrorDiffusion/Diffusion d'erreur: "" +*fr.DymoHalftoning NLL/Juxtaposition non linéaire: "" + +*fr_CA.Translation DymoHalftoning/Tramage: "" +*fr_CA.DymoHalftoning Default/Par défaut: "" +*fr_CA.DymoHalftoning ErrorDiffusion/Diffusion d'erreur: "" +*fr_CA.DymoHalftoning NLL/Juxtaposition non linéaire: "" + +*it.Translation DymoHalftoning/Mezzitoni: "" +*it.DymoHalftoning Default/Predefinito: "" +*it.DymoHalftoning ErrorDiffusion/Diffusione errore: "" +*it.DymoHalftoning NLL/Retino non lineare: "" + +*nl.Translation DymoHalftoning/Halftoon: "" +*nl.DymoHalftoning Default/Standaard: "" +*nl.DymoHalftoning ErrorDiffusion/Foutdiffusie: "" +*nl.DymoHalftoning NLL/Niet-lineaire rastering: "" + +*pt.Translation DymoHalftoning/Meio-tom: "" +*pt.DymoHalftoning Default/Padrão: "" +*pt.DymoHalftoning ErrorDiffusion/Difusão de erro: "" +*pt.DymoHalftoning NLL/Pontilhado não linear: "" + +*pt_BR.Translation DymoHalftoning/Meio-tom: "" +*pt_BR.DymoHalftoning Default/Padrão: "" +*pt_BR.DymoHalftoning ErrorDiffusion/Difusão de erro: "" +*pt_BR.DymoHalftoning NLL/Pontilhado não linear: "" + +*CloseUI: *DymoHalftoning + +*OpenUI *DymoPrintDensity/Print Density: PickOne +*OrderDependency: 20 AnySetup *DymoPrintDensity +*DefaultDymoPrintDensity: Normal +*DymoPrintDensity Light/Light: "" +*DymoPrintDensity Medium/Medium: "" +*DymoPrintDensity Normal/Normal: "" +*DymoPrintDensity Dark/Dark: "" + +*de.Translation DymoPrintDensity/Druckdichte: "" +*de.DymoPrintDensity Light/Niedrig: "" +*de.DymoPrintDensity Medium/Mittel: "" +*de.DymoPrintDensity Normal/Normal: "" +*de.DymoPrintDensity Dark/Hoch: "" + +*es.Translation DymoPrintDensity/Densidad de impresión: "" +*es.DymoPrintDensity Light/Bajo: "" +*es.DymoPrintDensity Medium/Mediano: "" +*es.DymoPrintDensity Normal/Normal: "" +*es.DymoPrintDensity Dark/Alto: "" + +*es_CO.Translation DymoPrintDensity/Densidad de impresión: "" +*es_CO.DymoPrintDensity Light/Bajo: "" +*es_CO.DymoPrintDensity Medium/Mediano: "" +*es_CO.DymoPrintDensity Normal/Normal: "" +*es_CO.DymoPrintDensity Dark/Alto: "" + +*fr.Translation DymoPrintDensity/Densité d’impression: "" +*fr.DymoPrintDensity Light/Faible: "" +*fr.DymoPrintDensity Medium/Moyenne: "" +*fr.DymoPrintDensity Normal/Normale: "" +*fr.DymoPrintDensity Dark/Élevée: "" + +*fr_CA.Translation DymoPrintDensity/Densité d'impression: "" +*fr_CA.DymoPrintDensity Light/Faible: "" +*fr_CA.DymoPrintDensity Medium/Moyenne: "" +*fr_CA.DymoPrintDensity Normal/Normale: "" +*fr_CA.DymoPrintDensity Dark/Élevée: "" + +*it.Translation DymoPrintDensity/Densità di stampa: "" +*it.DymoPrintDensity Light/Leggera: "" +*it.DymoPrintDensity Medium/Media: "" +*it.DymoPrintDensity Normal/Normale: "" +*it.DymoPrintDensity Dark/Scura: "" + +*nl.Translation DymoPrintDensity/Afdrukdichtheid: "" +*nl.DymoPrintDensity Light/Laag: "" +*nl.DymoPrintDensity Medium/Middel: "" +*nl.DymoPrintDensity Normal/Normaal: "" +*nl.DymoPrintDensity Dark/Hoog: "" + +*pt.Translation DymoPrintDensity/Densid. de impressão: "" +*pt.DymoPrintDensity Light/Baixo: "" +*pt.DymoPrintDensity Medium/Médio: "" +*pt.DymoPrintDensity Normal/Normal: "" +*pt.DymoPrintDensity Dark/Alto: "" + +*pt_BR.Translation DymoPrintDensity/Densid. de impressão: "" +*pt_BR.DymoPrintDensity Light/Baixo: "" +*pt_BR.DymoPrintDensity Medium/Médio: "" +*pt_BR.DymoPrintDensity Normal/Normal: "" +*pt_BR.DymoPrintDensity Dark/Alto: "" + +*CloseUI: *DymoPrintDensity + +*OpenUI *DymoPrintQuality/Print Quality: PickOne +*OrderDependency: 21 AnySetup *DymoPrintQuality +*DefaultDymoPrintQuality: Text +*DymoPrintQuality Text/Text Only: "<>setpagedevice" +*DymoPrintQuality Graphics/Barcodes and Graphics: "<>setpagedevice" + +*de.Translation DymoPrintQuality/Druckqualität: "" +*de.DymoPrintQuality Text/Nur Text: "" +*de.DymoPrintQuality Graphics/Barcode und Grafik: "" + +*es.Translation DymoPrintQuality/Calidad de impresión: "" +*es.DymoPrintQuality Text/Sólo texto: "" +*es.DymoPrintQuality Graphics/Código de barras y gráficas: "" + +*es_CO.Translation DymoPrintQuality/Calidad de impresión: "" +*es_CO.DymoPrintQuality Text/Sólo texto: "" +*es_CO.DymoPrintQuality Graphics/Código de barras y gráficas: "" + +*fr.Translation DymoPrintQuality/Qualité d’impression: "" +*fr.DymoPrintQuality Text/Texte uniquement: "" +*fr.DymoPrintQuality Graphics/Code-barres et graphisme: "" + +*fr_CA.Translation DymoPrintQuality/Qualité d'impression: "" +*fr_CA.DymoPrintQuality Text/Texte uniquement: "" +*fr_CA.DymoPrintQuality Graphics/Code-barres et graphisme: "" + +*it.Translation DymoPrintQuality/Qualità della stampa: "" +*it.DymoPrintQuality Text/Solo testo: "" +*it.DymoPrintQuality Graphics/Codice a barre e grafica: "" + +*nl.Translation DymoPrintQuality/Afdrukkwaliteit: "" +*nl.DymoPrintQuality Text/Alleen tekst: "" +*nl.DymoPrintQuality Graphics/Streepjescode en afbeeldingen: "" + +*pt.Translation DymoPrintQuality/Qualid. da impressão: "" +*pt.DymoPrintQuality Text/Somente texto: "" +*pt.DymoPrintQuality Graphics/Código de barras e gráficos: "" + +*pt_BR.Translation DymoPrintQuality/Qualid. da impressão: "" +*pt_BR.DymoPrintQuality Text/Somente texto: "" +*pt_BR.DymoPrintQuality Graphics/Código de barras e gráficos: "" + +*CloseUI: *DymoPrintQuality + +*UIConstraints: *DymoPrintQuality Text *Resolution 300x600dpi +*UIConstraints: *DymoPrintQuality Graphics *Resolution 300dpi +*UIConstraints: *Resolution 300x600dpi *DymoPrintQuality Text +*UIConstraints: *Resolution 300dpi *DymoPrintQuality Graphics + +*DefaultFont: Courier +*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM +*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM +*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM +*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM +*Font Bookman-Demi: Standard "(001.004S)" Standard ROM +*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM +*Font Bookman-Light: Standard "(001.004S)" Standard ROM +*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM +*Font Courier: Standard "(002.004S)" Standard ROM +*Font Courier-Bold: Standard "(002.004S)" Standard ROM +*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM +*Font Courier-Oblique: Standard "(002.004S)" Standard ROM +*Font Helvetica: Standard "(001.006S)" Standard ROM +*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM +*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM +*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM +*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM +*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM +*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM +*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM +*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM +*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM +*Font Palatino-Bold: Standard "(001.005S)" Standard ROM +*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM +*Font Palatino-Italic: Standard "(001.005S)" Standard ROM +*Font Palatino-Roman: Standard "(001.005S)" Standard ROM +*Font Symbol: Special "(001.007S)" Special ROM +*Font Times-Bold: Standard "(001.007S)" Standard ROM +*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM +*Font Times-Italic: Standard "(001.007S)" Standard ROM +*Font Times-Roman: Standard "(001.007S)" Standard ROM +*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM +*Font ZapfDingbats: Special "(001.004S)" Standard ROM + +*% +*% End of "$Id: lw450.ppd 16401 2011-10-31 18:51:16Z pineichen $" +*% diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..c2ba007 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,146 @@ + + + + + + + +
+

Label Printer App

+ + + +
+
+ + + + + +
+ +
+
+ + +
+ +
+
+ +
+
+ Voorbeeld genereren... +
+ + + +
+ + + + + \ No newline at end of file diff --git a/input.csv b/input.csv new file mode 100644 index 0000000..e8cea3c --- /dev/null +++ b/input.csv @@ -0,0 +1,2 @@ +Voornaam;Achternaam;Straatnaam;Huisnr;Toev;Postcode;Woonplaats;Land +"Jan";"Jansen";"Dorpsstraat";"12";"a";"1234 AB";"Den Haag";"Nederland" diff --git a/labelelec.sh b/labelelec.sh new file mode 100755 index 0000000..d594ec5 --- /dev/null +++ b/labelelec.sh @@ -0,0 +1,6 @@ +#/bin/sh + + +docker build -t labelelec . + +/storage/bin/docker-compose up -d --build \ No newline at end of file diff --git a/labels/adres.glabels b/labels/adres.glabels new file mode 100644 index 0000000000000000000000000000000000000000..d9e0e030907b7bf454bcb6bfecdcc085137ec8b0 GIT binary patch literal 583 zcmV-N0=WGjiwFP!000021ASCcZ<{a>e($fa{GJ$+rY#ess#bNAM%QVHw#VoK7jO$U zvP}d1^|K9hZ5J&s_IG!_`|i6V@pV^MwoNyfL0y3aUVIljjPxCaEXjE83d(XnA2$>n|?6?zpF<4ftr3a=b`Y_;JB8=T_7Q1T2F zFYM4h+ud*&l<)E2m)u001(w6Nvx- literal 0 HcmV?d00001 diff --git a/labels/batch_bobz.glabels b/labels/batch_bobz.glabels new file mode 100644 index 0000000000000000000000000000000000000000..7dd2e99990f35b47529de19965248a5e5f333752 GIT binary patch literal 291308 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

#V6Ax;3s0*J;Z|L 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

;lE*q-d!?ul5+eD+CJC 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�->y~A)$^WD74yVRvp zk!T6@()>j>9<7L83?c*dhb*=)vBo*WCfDZ=$^MRHkgor{`tdEl!2zDW1=<2WdyW!N z+qcbJ92I(9VCpp&# z(9(PgN45M%?z&U7N_*znv8`5YWA77-Ld$&1B`0i2fSmgN6RhN9#vRX~QuCb4jG07Q z?&3L5AN{~Pr|JrK04m#lA!Y}FBX|^v@*^Y*s$t{!?yl9m zTPoMcJiZG6Q>E0tgu0}d-7BqyN|dHseTmXlN^fudoo(Tg-me!wwbkp_B@ev&`4+Xo z>bTt?F8VejTL0ELu`YE0o_~BYm8?*(i-Xt;Jm6B*v ze(6=2TIil_;9m~ta6Gt#fgo@gms{{3gCS5Y7k_`U?XqWNs81<+|G~wgA$qDaGsszk z@0^D};zzQ6GpaU`x*3H;L=fR3?@B$+u7La1V`i!2ToW>M&XZy>#s1xO#EU{c^!{?S(DEp1E=VA0BB*L)Pt7bzZZfYrW2okd@Sh8m+q}TS*1EyzvS|-^DOY${y1o+E}Q?LtC4&hy`<{D z5sRl@0pgW3ZXTWM&E@+;1hsqjf~bU{;X3YzstKc8)v|-&BB%wBWMOr5JtR)H0XhH_ zcl#Th75iKfTr~A^??tfR1^78|NwDny0&zhg=4&h>HS*=NpP#4RqJkm9Vwl8|TJ~je zaC1j^x%N+jz6X`lX_Nw?%+qhVEZsjE*!M+5o6*&S#XwW>E?{6+OBbtG)oM+NPQp_Y z=C6rkn*1^VizNoY>mLJ9@D1k9BoEw6q&h6{??&&ej?WNAYuF!_z;80xoT1Ulq|XdR z)}%qm<~1$c{)T$)2bYO9rySDn&}Vu=I}H>@%E}AAefbnzw~N(x<8A8OVK;O`BAjIj zbIKwD&eC@8tU>Se|H`+gj0RtI{PBp9ofY6+No#XohxlJlE1X?f+GKpGIV&2n2`{Gi zhxj(wBQnhaLPhoz9~S)8tNyHl346-=9#(~))a z5iTlT>G5)-)UY-c9fE%u9)1A;S^S?g{ekk4O#3HfmUf2yqRSqUL(`1DDuV@4nW2Z_ z!iM5Bjl6PRFDb(qKtxaJH>oRIOK^I(l{dS#Sxrh%MR>nEd;{<^rtaNA5+-2YwCmU~kGqRV>!U4E{CNuJ zTn;g?5uWM5h36g>aCSgI)2%aVEX0{`W?*#~oJq?zqjUW zK~C@roFLt-Mh%N~IA|p8lO0nh!zke7VIbvR8qFQ?D-^KJnBUe zu&Cg;$^k#4nuU4IjFkh#dj0N?zjAWsR9l!#NT7rw?KiaA@{-yQqYaAVc>YTjO){OB z#(;0hFl(Ta-!!hWU77=1wjpc!B(LouiSkS|QuXCP&TML57zUBWs9R%#pz2gb4|>_O za5z2D9~&~AIV0HeM+3jyDc~+&ePnVi4!aGtTvbX5n%=@8SqD?umGvvmj8_HMB91cH zFaA`s_?K>!Od7y(q}3OKUN|oGBUAbJw3*DK|9&1EJw`e*`A#D zZH0K{U8duX4vg|o4rUdPE`u6JPy_L&=0AQ7EdDkMxx8@W-y z?&Dm3`7~`V#>h^f&z*a$okqn%25~kl{AWIxF#jMtX7qQ$h8ql;jDUGH&%0m=ngr0EA&%}GuX8%w2*u$Q_ z=j|#%D+vBu)wKK*v9*KWknSv3?3#O4$ie=wT)JQNlO~J#7O!66>uS}8I0SYKV(MXz40Mx?UpMO?FTWv%I=!wsp|XZ7 z=7%&dCJF2xOz`L7ThF3lsL;o@@i_7&RM7X&+`%IpcC8{drWtT`rl&v#r3R}6hqMus zGf8Sw8941d-c+-~)aw!zfpnN}HvcQ$9$L05kH+cjO`Y}E`gEvSz4FBl(}SlcK9B$T z^KIk1psj}g);(Q2$)bTT5x^wq)8ZR1k)~JSmG-M0yO5@#*ENU7g46fWYK27yhIxJ`wKuL2%#{&brY2KTI*t>4Ic(LQ&jYEDISU0| zJsa5c(kWD|+r_L_G}(BwPn(0hc#1%>?4Yh{YQGk{X;51fzo0BzYe$Bn`|4nV zq*8AA=TogMe3OrL#8&OXVpk%)SGLIq4>^?hrA+ZCXe#~otFHb+Yb+|HMvA9@rAefE z3RFR=V+sQC$oAIr&%?_&X+`i&6F>fkASG>bdfHNpQ+8+RK!h>{GVc*Zy>?Q(EHW>< zF<_$Hz~eKW%f^-zES~dIoai4

~{48QWTVS)};dzOR!5{dSzBgnkq9;_9|8IbOH* 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 Suh>*8ujPhIE~Xznxaoh}@vSHT literal 0 HcmV?d00001 diff --git a/labels/eenvoudig.glabels b/labels/eenvoudig.glabels new file mode 100644 index 0000000000000000000000000000000000000000..09afdc9e7802ee88e92d28b357dd7dd673cd7629 GIT binary patch literal 537 zcmV+!0_Oc6iwFP!000021C5hSbJ{QvhVT3ejqV^BLlQceOxsL)D4Ar2+?mB*+e&Q7 zBgw(;udgKAlxBJ;7imA(eRf}Yd*9U+`9N)ik_n9#oZjzd+aDF2url*ZrEQJU5|<@S zLQ89#FN_sKc%gK`LWIQ&&ggDN$o3WMrUHxPq(Np0edudNNdwv@bhF{nk`g0+VM3p6 ziJFqL$ZY95ucF&{DI_H&ilTJc@nX&6&C0tnG^rMi4Ul`#1(L5>rqLL(4=ACx>;8lm zNb1@bO7{s3oRs}LScCWz3uWdSQwy@FkO+s)|C3Iu)=$d)y*r-4SRAeX+8R1}4$$vy zGq2qoLXO+;3G9-whhDXo$j-H3Sy}78F zhSti0hkn&9PKzB<<`z5m7+lt3c^56$alrBBdKIsE*v8pI@Yp%Rx_mIcx#70~@vSvh zI4x`rW-T{}`aP>S#(W@405|5^VRLH_} zOr2ftM}bvFB-F0ri&j~i+ACd|N1JrHTIrz4C_^xw&_8n9H(m#q!46mpKa*s8*FE}) by%`E`AHagUZQ19qb~pPCo5+T8-va;uDZ>WL literal 0 HcmV?d00001 diff --git a/labels/etenopen.glabels b/labels/etenopen.glabels new file mode 100644 index 0000000000000000000000000000000000000000..f4d36896594c18d84fa8fdc74025802a031bec78 GIT binary patch literal 623 zcmV-#0+9V5iwFP!000021KpL+PunmQ$M5_VmhVlRI87*Oinbv*tO#jvuT1iq8WKCQ z9op=#pY0^2Lj$qXr1fIIANBjb&$FE6<)Nw33ntdLcBUdX!!t5TQdXbQ87{G_^NLtMlDk&$BPAtVvIEZ z2|2zqJ5U(yd1-d8auQ`U<^rP~@M>qXX)q^rkvLZgx=_3|UgVmo3ecCbRG>9ldnvxQ zt$quJp~9B0r0R3*b>i^P!G`hIm_KHwpfF5SH6U)KlTWHsvU8mhw?Az5OdA-j{?r;O zIUP(rckQgPeQ+_-a0%ftW6gTm86*z2G)AKL%YjU%PMh-Zo3ye&l{Ix1zG=-*DV)aS zt-Hr38`V?ON*d-wKd25SutUnsz`{9d#8fXc|tue7o}-R zGOzKe(}r*DU)HcS7`?EXS9Ye~>?L!zfptc1^iFZ{oa1X&Yp_1z+h>s%$Kqk3gEJYd zxm%9-?pr2MA#16u`#}6}yTxcLh1qOb!)q(xo(Vm=h7m;Pqq!eP{8iTF=;Fo-Esm0E zE?}cuR&Y@{9jhCVEr@a%y3!N)6K3yHq%=#TBgG`i7Fjw%jDjpW5{y$y&yx=bKFIbT z;P2ai)!DfW_&~Vq32-miD^c{LV9K5tenB6VIx1W#I*)KHc J`*LUo008M}E=>Rc literal 0 HcmV?d00001 diff --git a/labels/etenopslag.glabels b/labels/etenopslag.glabels new file mode 100644 index 0000000000000000000000000000000000000000..8f9103f2c27b043afc27bcc3d673dae3020f650d GIT binary patch literal 617 zcmV-v0+#(BiwFP!000021KpL$Zrd;rhVOX_f_IDByeP07v<=cj9i(V-HyCLwGoeU< zq++R0Uy_oXATWaTRG_|)vtZ_*ZwPsP)zuumfYMBg97jQjuQnI!@0>mY*RxUOQv>KxQBmgjy00Zh4OJ$`Sr$eyMw04~i@L_>0IWLL#8u|35_F+hW4yF2RTZEwWvM`GwDkgfN89rj3`K=) zT1nOC*sH_je6XhMHRj9A6cmPviUVR+aQLAnC0jRD=fc&Jeb=3;=eC*E zRy`Br)o1m}v^~ZVbN%GA+VecaKjts;2>! zG}K9bP%TUlhm@It&aOMhiy-#>-J_Ui={#}PF~`eg5P2+iok5(fVxRWZYQy$6c?)}k z(F^6QvP=7B-;P@{ZH?UNgJR-2$2XK~u)fewN+Yj`#>0^e&UCQm?l_UUZ>T_pkK-c0N?wjGW~|WSB#AQtJKfNNiOT7iI@{hi z40wqIt!>4hN|tS5-t3S#Y11~|fIN?O9%RXKo=$k9AX%;!Bi=L#(j=V-FM`D?%jO>t zevr*S#v8xG`wOa;Q}s#0*VME%Y6hYVF8>l`nps?NbQWcj23fp%MVY0G{~G1_$Laxp z@~KV^?TuS-UtH5S?n7ZS$UW4|4JF9d_Kto)uZO~G+l1QNn!Nwx*j)SpA#hVwVg>*J Do7gVq literal 0 HcmV?d00001 diff --git a/labels/outline.glabels b/labels/outline.glabels new file mode 100644 index 0000000000000000000000000000000000000000..842cda21f98be640b229f31d1a05a00baa3bf640 GIT binary patch literal 505 zcmV5@9dI~`GyuySj@S8FGJ>YN=UOgRt*z6bv z)XE5l`m8T9n7EWg2Q>lPDn&WZQs2+EixJ6Vo;Y4@1o@&8x8T3gT_4BJIZ7G1 zu_uVp95^jl%+i9s2F>I26a3ub^>y~*Q5a#vTm1H?wcGpwT|L9>-UI*u;dJ<4 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..6eda569 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,25 @@ +{ + "name": "labelelec", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "typescript": "^6.0.3" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..21185f7 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "typescript": "^6.0.3" + } +} diff --git a/printer_emulation.img b/printer_emulation.img new file mode 100644 index 0000000000000000000000000000000000000000..9e0f96a2a253b173cb45b41868209a5d043e1437 GIT binary patch literal 1048576 zcmeIuF#!Mo0K%a4Pi+Wah(KY$fB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ T0|pEjFkrxd0RsjM82APT0Pp|- literal 0 HcmV?d00001 diff --git a/resultaat.pdf b/resultaat.pdf new file mode 100644 index 0000000000000000000000000000000000000000..21f813f3a547671af599db15112b34a6406b88f0 GIT binary patch literal 11824 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 + + Landscape + LargeShipping + 30256 Shipping + + + + + + TEXT + + + + Rotation0 + False + False + Left + Middle + AlwaysFit + True + False + + + T + + + + + + + EST123 + + + + + + + + + + +`; +dymo.print('DYMO LabelWriter 450', labelXml); diff --git a/src/dist/index.js b/src/dist/index.js new file mode 100644 index 0000000..d03fce4 --- /dev/null +++ b/src/dist/index.js @@ -0,0 +1,60 @@ +import fs from 'fs'; +function printDymoXml(xmlContent) { + // Schrijf de XML direct naar het printer device + // Zorg dat de container permissie heeft (via --device in docker) + fs.writeFile('/dev/labelprinter', xmlContent, (err) => { + if (err) { + console.error('Printfout:', err); + } + else { + console.log('XML succesvol naar printer gestuurd'); + } + }); +} +var labelXml = ` + + + Landscape + LargeShipping + 30256 Shipping + + + + + + TEXT + + + + Rotation0 + False + False + Left + Middle + AlwaysFit + True + False + + + T + + + + + + + EST123 + + + + + + + + + + +`; +printDymoXml(labelXml); diff --git a/src/dist/src/index.js b/src/dist/src/index.js new file mode 100644 index 0000000..9c9fcb7 --- /dev/null +++ b/src/dist/src/index.js @@ -0,0 +1,49 @@ +import { Dymo } from 'dymojs'; +const dymo = new Dymo(); +var labelXml = ` + + + Landscape + LargeShipping + 30256 Shipping + + + + + + TEXT + + + + Rotation0 + False + False + Left + Middle + AlwaysFit + True + False + + + T + + + + + + + EST123 + + + + + + + + + + +`; +dymo.print('DYMO LabelWriter 450', labelXml); diff --git a/src/dist/tsconfig.tsbuildinfo b/src/dist/tsconfig.tsbuildinfo new file mode 100644 index 0000000..a32ff7d --- /dev/null +++ b/src/dist/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.es2025.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/index.ts"],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0c38884886c4edb7370e7e637f1e8bc956ec053ac17fcf7b018f878841934ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[90],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"outDir":"./","skipLibCheck":true,"strict":true,"target":4},"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],"version":"6.0.3"} \ No newline at end of file diff --git a/src/package-lock.json b/src/package-lock.json new file mode 100644 index 0000000..bd6aed4 --- /dev/null +++ b/src/package-lock.json @@ -0,0 +1,1630 @@ +{ + "name": "labelelec", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "labelelec", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "canvas": "^3.2.3", + "cors": "^2.8.6", + "express": "^5.2.1", + "ipp": "^1.1.0", + "pdfkit": "^0.18.0" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/express": "^5.0.6", + "@types/ipp": "^2.0.5", + "@types/node": "^24.12.2", + "@types/pdfkit": "^0.17.6", + "typescript": "^6.0.3" + } + }, + "node_modules/@noble/ciphers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.3.0.tgz", + "integrity": "sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", + "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz", + "integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.6.tgz", + "integrity": "sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^5.0.0", + "@types/serve-static": "^2" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ipp": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/ipp/-/ipp-2.0.5.tgz", + "integrity": "sha512-urVWEq8xGZyj9ddEXWaGotJ6uu2Jnn8qvUmsf2nWvQmOO5fw0ErUJGQE8nVHaIpe1fRsZ3ylSigySKT4xXvuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "24.12.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.2.tgz", + "integrity": "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/pdfkit": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.17.6.tgz", + "integrity": "sha512-tIwzxk2uWKp0Cq9JIluQXJid77lYhF52EsIOwhsMF4iWLA6YneoBR1xVKYYdAysHuepUB0OX4tdwMiUDdGKmig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "license": "MIT", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/canvas": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-3.2.3.tgz", + "integrity": "sha512-PzE5nJZPz72YUAfo8oTp0u3fqqY7IzlTubneAihqDYAUcBk7ryeCmBbdJBEdaH0bptSOe2VT2Zwcb3UaFyaSWw==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.3" + }, + "engines": { + "node": "^18.12.0 || >= 20.9.0" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC" + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "license": "MIT" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "license": "MIT", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ipp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ipp/-/ipp-1.1.0.tgz", + "integrity": "sha512-RwnBybTCrYZRsW0PAYIY004+1Cez1XfMsxlgxOG1VqUvTJZlYlVLkPRyFhNVtHqDaK3eaWfcTaWDJQSMDYDb5g==", + "engines": { + "node": "*" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/js-md5": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.8.3.tgz", + "integrity": "sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==", + "license": "MIT" + }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "license": "MIT", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.90.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.90.0.tgz", + "integrity": "sha512-pZNQT7UnYlMwMBy5N1lV5X/YLTbZM5ncytN3xL7CHEzhDN8uVe0u55yaPUJICIJjaCW8NrM5BFdqr7HLweStNA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/pdfkit": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.18.0.tgz", + "integrity": "sha512-NvUwSDZ0eYEzqAiWwVQkRkjYUkZ48kcsHuCO31ykqPPIVkwoSDjDGiwIgHHNtsiwls3z3P/zy4q00hl2chg2Ug==", + "license": "MIT", + "dependencies": { + "@noble/ciphers": "^1.0.0", + "@noble/hashes": "^1.6.0", + "fontkit": "^2.0.4", + "js-md5": "^0.8.3", + "linebreak": "^1.1.0", + "png-js": "^1.0.0" + } + }, + "node_modules/png-js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.1.0.tgz", + "integrity": "sha512-PM/uYGzGdNSzqeOgly68+6wKQDL1SY0a/N+OEa/+br6LnHWOAJB0Npiamnodfq3jd2LS/i2fMeOKSAILjA+m5Q==", + "dependencies": { + "browserify-zlib": "^0.2.0" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", + "license": "MIT" + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-static": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "license": "MIT", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "license": "MIT" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + } + } +} diff --git a/src/package.json b/src/package.json new file mode 100644 index 0000000..140b447 --- /dev/null +++ b/src/package.json @@ -0,0 +1,28 @@ +{ + "name": "labelelec", + "version": "1.0.0", + "description": "", + "license": "ISC", + "author": "", + "type": "module", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "npx tsc" + }, + "devDependencies": { + "@types/cors": "^2.8.19", + "@types/express": "^5.0.6", + "@types/ipp": "^2.0.5", + "@types/node": "^24.12.2", + "@types/pdfkit": "^0.17.6", + "typescript": "^6.0.3" + }, + "dependencies": { + "canvas": "^3.2.3", + "cors": "^2.8.6", + "express": "^5.2.1", + "ipp": "^1.1.0", + "pdfkit": "^0.18.0" + } +} diff --git a/src/src/index.ts b/src/src/index.ts new file mode 100644 index 0000000..0fc1416 --- /dev/null +++ b/src/src/index.ts @@ -0,0 +1,153 @@ +import express, { Request, Response } from 'express'; +import { exec } from 'child_process'; +import path from 'path'; +import fs from 'fs'; +import ipp from 'ipp'; +import zlib from 'zlib'; +import cors from 'cors'; +import { fileURLToPath } from 'url'; + +// 1. Definieer __dirname voor ES-modules +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +const app = express(); + +app.use(cors()); +app.use(express.json()); + +const LABELS_DIR = path.join('labels'); +const TMP_CSV = '/tmp/input.csv'; +const OUTPUT_PDF = '/tmp/output.pdf'; + +const escapeCsv = (val: any) => `"${String(val).replace(/"/g, '""')}"`; + +const getPdfCmd = (req: Request) => { + + const { labelName, headers, data } = req.body; + const labelFile = path.join(LABELS_DIR, `${labelName}.glabels`); + + if (!fs.existsSync(labelFile)) return { cmd: null, labelName }; + + let cmd = `glabels-3-batch -o ${OUTPUT_PDF} ${labelFile}`; + + // Alleen als er headers en data zijn, maken we een CSV aan en voegen we de -i vlag toe + if (headers && data && data.length > 0) { + const csvContent = [ + headers.join(';'), + ...data.map((row: any[]) => row.map(escapeCsv).join(';')) + ].join('\n'); + + fs.writeFileSync(TMP_CSV, csvContent); + cmd = `glabels-3-batch -i ${TMP_CSV} -o ${OUTPUT_PDF} ${labelFile}`; + } + + return { cmd, labelName }; +} + +app.post('/print', async (req: Request, res: Response) => { + + const { cmd, labelName } = getPdfCmd(req); + if (!cmd) return res.status(404).send(`Label ${labelName} niet gevonden.`); + + const copies = Math.max(1, parseInt(req.body.copies) || 1); + + exec(cmd, async (error) => { + if (error) return res.status(500).send('Fout bij genereren: ' + error.message); + + try { + const pdfData = fs.readFileSync(OUTPUT_PDF); + await sendToCups(pdfData, copies); + res.send('Labels geprint!'); + } catch (err) { + res.status(500).send('Print fout: ' + err); + } + }); +}); + +app.post('/download', async (req: Request, res: Response) => { + const { headers, data, rotate, format } = req.body; // Voeg 'rotate' en 'format' toe + const { cmd, labelName } = getPdfCmd(req); + if (!cmd) return res.status(404).send(`Label ${labelName} niet gevonden.`); + + exec(cmd, (error) => { + if (error) return res.status(500).send('Fout: ' + error.message); + + if (format === 'png') { + const PNG_FILE = '/tmp/output.png'; + // -rotate: draai de afbeelding + // -density: zorgt voor scherpe kwaliteit (300 dpi) + const convertCmd = `convert -density 300 ${OUTPUT_PDF} -rotate ${rotate || 0} ${PNG_FILE}`; + + exec(convertCmd, (err) => { + if (err) return res.status(500).send('Conversie fout: ' + err.message); + res.setHeader('Content-Type', 'image/png'); + res.sendFile(PNG_FILE); + }); + } else { + // Standaard PDF sturen + res.setHeader('Content-Type', 'application/pdf'); + res.sendFile(OUTPUT_PDF); + } + }); +}); + +app.get('/labels', (req: Request, res: Response) => { + try { + const files = fs.readdirSync(LABELS_DIR).filter(file => file.endsWith('.glabels')); + + const labelData = files.map(file => { + const filePath = path.join(LABELS_DIR, file); + // Lees het bestand als buffer omdat het gecomprimeerd kan zijn + const buffer = fs.readFileSync(filePath); + + // Probeer te decomprimeren (als het GZIP is) of lees als tekst + let content = ''; + try { + content = zlib.gunzipSync(buffer).toString('utf-8'); + } catch { + content = buffer.toString('utf-8'); + } + console.log(content) + + // Regex om alle variabelen zoals ${Veldnaam} te vinden + const regex = /Field name="(.+?)"/g; + const matches = [...new Set([...content.matchAll(regex)].map(m => m[1]))]; + + return { + name: path.parse(file).name, + fields: matches + }; + }); + + res.json(labelData); + } catch (err) { + res.status(500).send('Fout bij ophalen labels: ' + err); + } +}); + +async function sendToCups(pdfBuffer: Buffer, copies: number = 1) { + const printerUrl = process.env.PRINTER_URL || "http://host.docker.internal:631/printers/dymo"; + const printer = new (ipp as any).Printer(printerUrl); + + return new Promise((resolve, reject) => { + printer.execute("Print-Job", { + "operation-attributes-tag": { "document-format": "application/pdf" }, + "job-attributes-tag": { "copies": copies }, + data: pdfBuffer + }, (err: Error | null, res: any) => err ? reject(err) : resolve(res)); + }); +} + + +// 2. Optioneel: Stuur index.html expliciet als iemand naar de root gaat +app.get('/', (req, res) => { + // Dit zorgt ervoor dat het pad altijd vanaf de root van je container wordt berekend + res.sendFile(path.join(__dirname, '../public/index.html')); +}); + + +app.use(express.static(path.join(__dirname, '../public'))); + + +app.listen(3000, '0.0.0.0'); \ No newline at end of file diff --git a/src/tsconfig.json b/src/tsconfig.json new file mode 100644 index 0000000..1edefcd --- /dev/null +++ b/src/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ES2017", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react-jsx", + "types": ["node"], + "incremental": true, + "plugins": [], + "paths": { + "@/*": ["./*"] + }, + "rootDir": "./src", + "noEmit": false, + "outDir": "./dist" + }, + "include": ["src/**/*", "src/types/**/*.d.ts"], + "exclude": ["node_modules"] +} diff --git a/src/tsconfig.tsbuildinfo b/src/tsconfig.tsbuildinfo new file mode 100644 index 0000000..f2d0cf3 --- /dev/null +++ b/src/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.es2025.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.es2025.collection.d.ts","./node_modules/typescript/lib/lib.es2025.float16.d.ts","./node_modules/typescript/lib/lib.es2025.intl.d.ts","./node_modules/typescript/lib/lib.es2025.iterator.d.ts","./node_modules/typescript/lib/lib.es2025.promise.d.ts","./node_modules/typescript/lib/lib.es2025.regexp.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.date.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.error.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","./node_modules/typescript/lib/lib.esnext.temporal.d.ts","./node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/crypto.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/buffer/index.d.ts","./node_modules/undici-types/utility.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client-stats.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/h2c-client.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-call-history.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/snapshot-agent.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/cache-interceptor.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/web-globals/streams.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/send/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/http-errors/index.d.ts","./node_modules/@types/serve-static/index.d.ts","./node_modules/@types/connect/index.d.ts","./node_modules/@types/body-parser/index.d.ts","./node_modules/@types/express/index.d.ts","./node_modules/canvas/index.d.ts","./node_modules/@types/pdfkit/index.d.ts","./node_modules/@types/ipp/index.d.ts","./src/index.ts"],"fileIdsList":[[92,147,161,164,165,197,204],[92,147,161,164,165,197],[92,147,158,161,164,165,197,198,199,200],[92,147,164,165,201,203,205],[92,147,164,165],[92,147,164,165,190,197],[92,144,145,147,164,165],[92,146,147,164,165],[147,164,165],[92,147,152,164,165,182],[92,147,148,153,158,164,165,167,179,190],[92,147,148,149,158,164,165,167],[92,147,150,164,165,191],[92,147,151,152,159,164,165,168],[92,147,152,164,165,179,187],[92,147,153,155,158,164,165,167],[92,146,147,154,164,165],[92,147,155,156,164,165],[92,147,157,158,164,165],[92,146,147,158,164,165],[92,147,158,159,160,164,165,179,190],[92,147,158,159,160,164,165,174,179,182],[92,139,147,155,158,161,164,165,167,179,190],[92,147,158,159,161,162,164,165,167,179,187,190],[92,147,161,163,164,165,179,187,190],[90,91,92,93,94,95,96,97,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[92,147,158,164,165],[92,147,164,165,166,190],[92,147,155,158,164,165,167,179],[92,147,164,165,168],[92,147,164,165,169],[92,146,147,164,165,170],[92,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[92,147,164,165,172],[92,147,164,165,173],[92,147,158,164,165,174,175],[92,147,164,165,174,176,191,193],[92,147,159,164,165],[92,147,158,164,165,179,180,182],[92,147,164,165,181,182],[92,147,164,165,179,180],[92,147,164,165,182],[92,147,164,165,183],[92,144,147,164,165,179,184,190],[92,147,158,164,165,185,186],[92,147,164,165,185,186],[92,147,152,164,165,167,179,187],[92,147,164,165,188],[92,147,164,165,167,189],[92,147,161,164,165,173,190],[92,147,152,164,165,191],[92,147,164,165,179,192],[92,147,164,165,166,193],[92,147,164,165,194],[92,147,152,164,165],[92,139,147,164,165],[92,147,164,165,195],[92,139,147,158,160,164,165,170,179,182,190,192,193,195],[92,147,164,165,179,196],[92,147,164,165,179,197],[92,147,159,164,165,179,197],[92,147,161,164,165,197,202],[92,147,164,165,179],[92,105,108,111,112,147,164,165,190],[92,108,147,164,165,179,190],[92,108,112,147,164,165,190],[92,102,147,164,165],[92,106,147,164,165],[92,104,105,108,147,164,165,190],[92,147,164,165,167,187],[92,147,164,165,197],[92,102,147,164,165,197],[92,104,108,147,164,165,167,190],[92,99,100,101,103,107,147,158,164,165,179,190],[92,108,116,124,147,164,165],[92,100,106,147,164,165],[92,108,133,134,147,164,165],[92,100,103,108,147,164,165,182,190,197],[92,108,147,164,165],[92,104,108,147,164,165,190],[92,99,147,164,165],[92,102,103,104,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,138,147,164,165],[92,108,126,129,147,155,164,165],[92,108,116,117,118,147,164,165],[92,106,108,117,119,147,164,165],[92,107,147,164,165],[92,100,102,108,147,164,165],[92,108,112,117,119,147,164,165],[92,112,147,164,165],[92,106,108,111,147,164,165,190],[92,100,104,108,116,147,164,165],[92,108,126,147,164,165],[92,119,147,164,165],[92,102,108,133,147,164,165,182,195,197],[92,147,164,165,206,207,208,209]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"378281aa35786c27d5811af7e6bcaa492eebd0c7013d48137c35bbc69a2b9751","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"1b2dd1cbeb0cc6ae20795958ba5950395ebb2849b7c8326853dd15530c77ab0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"387a023d363f755eb63450a66c28b14cdd7bc30a104565e2dbf0a8988bb4a56c","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"3a80bc85f38526ca3b08007ee80712e7bb0601df178b23fbf0bf87036fce40ce","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"2931540c47ee0ff8a62860e61782eb17b155615db61e36986e54645ec67f67c2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"f6faf5f74e4c4cc309a6c6a6c4da02dbb840be5d3e92905a23dcd7b2b0bd1986","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"3bacf516d686d08682751a3bd2519ea3b8041a164bfb4f1d35728993e70a2426","impliedFormat":1},{"version":"7fb266686238369442bd1719bc0d7edd0199da4fb8540354e1ff7f16669b4323","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"c183b931b68ad184bc8e8372bf663f3d33304772fb482f29fb91b3c391031f3e","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"48cc3ec153b50985fb95153258a710782b25975b10dd4ac8a4f3920632d10790","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"e1528ca65ac90f6fa0e4a247eb656b4263c470bb22d9033e466463e13395e599","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"866078923a56d026e39243b4392e282c1c63159723996fa89243140e1388a98d","impliedFormat":1},{"version":"f724236417941ea77ec8d38c6b7021f5fb7f8521c7f8c1538e87661f2c6a0774","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ea15fd99b2e34cb25fe8346c955000bb70c8b423ae4377a972ef46bfb37f595","impliedFormat":1},{"version":"7cf69dd5502c41644c9e5106210b5da7144800670cbe861f66726fa209e231c4","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"f9b4137a0d285bd77dba2e6e895530112264310ae47e07bf311feae428fb8b61","affectsGlobalScope":true,"impliedFormat":1},{"version":"c06b2652ffeb89afd0f1c52c165ced77032f9cd09bc481153fbd6b5504c69494","impliedFormat":1},{"version":"51aecd2df90a3cffea1eb4696b33b2d78594ea2aa2138e6b9471ec4841c6c2ee","impliedFormat":1},{"version":"9d8f9e63e29a3396285620908e7f14d874d066caea747dc4b2c378f0599166b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"612422d5ba6b4a5c4537f423e9199645468ad80a689801da63ab7edb43f7b835","impliedFormat":1},{"version":"db9ada976f9e52e13f7ae8b9a320f4b67b87685938c5879187d8864b2fbe97f3","impliedFormat":1},{"version":"9f39e70a354d0fba29ac3cdf6eca00b7f9e96f64b2b2780c432e8ea27f133743","impliedFormat":1},{"version":"0dace96cc0f7bc6d0ee2044921bdf19fe42d16284dbcc8ae200800d1c9579335","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"c64e1888baaa3253ca4405b455e4bf44f76357868a1bd0a52998ade9a092ad78","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc8c6f5322961b56d9906601b20798725df60baeab45ec014fba9f795d5596fd","impliedFormat":1},{"version":"0904660ae854e6d41f6ff25356db1d654436c6305b0f0aa89d1532df0253486e","impliedFormat":1},{"version":"060d305fe4494d8cb2b99d620928d369d1ee55c1645f5e729a2aca07d0f108cb","impliedFormat":1},{"version":"230bdc111d7578276e4a3bb9d075d85c78c6b68f428c3a9935e2eaa10f4ae1f5","impliedFormat":1},{"version":"0c50296ee73dae94efc3f0da4936b1146ca6ce2217acfabb44c19c9a33fa30e5","impliedFormat":1},{"version":"bbf42f98a5819f4f06e18c8b669a994afe9a17fe520ae3454a195e6eabf7700d","impliedFormat":1},{"version":"0e5974dfff7a97181c7c376545f126b20acf2f1341db7d3fccea4977bf3ce19c","impliedFormat":1},{"version":"c7f977ea78a1b060a30554c1c4ec0e2269c6e305a349ca2ada14931ac27ecc0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3806cdd6b48ba01a9198134e62a384ec217a98f316d4baef74dd46d62c947a63","impliedFormat":1},{"version":"ff65b8a8bd380c6d129becc35de02f7c29ad7ce03300331ca91311fb4044d1a9","impliedFormat":1},{"version":"04bf1aa481d1adfb16d93d76e44ce71c51c8ef68039d849926551199489637f6","impliedFormat":1},{"version":"2c9adcc85574b002c9a6311ff2141055769e0071856ec979d92ff989042b1f1b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bf3fe89ec8baa335f6370b9fa36308e1bc7a72e2eb2dad1e94f31e27fa28b5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"5fb39858b2459864b139950a09adae4f38dad87c25bf572ce414f10e4bd7baab","impliedFormat":1},{"version":"35390d6fa94bdb432c5d0bcb6547bdd11406c2692a6b90b9e47be2105ea19bd6","impliedFormat":1},{"version":"3910dab597c40e173bf0e0d419d3ce9682c54ebf6ae84849f9b829b1451a17ec","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"486c074a5c0f2254345c0d1c9540380f5463999e42d7e1a159305ea823d3c4b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c119835edf36415081dfd9ed15fc0cd37aaa28d232be029ad073f15f3d88c323","impliedFormat":1},{"version":"8e7c3bed5f19ade8f911677ddc83052e2283e25b0a8654cd89db9079d4b323c7","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"ccf3afaeebbeee4ca9092101e99fd6abd681116b6e5ec23e381bbb1e1f32262c","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"ab7818a9d57a9297b90e456fc68b77f84d74395a9210a3cfa9d87db33aff8b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb08062718a5470cd864c1fae0eb5b3a3adc5bcd05dcf87608d6f60b65eca3f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"3a815b7d1aebc0646b91548eab2fc19dada09ff255d04c71ced00bbd3058c8eb","impliedFormat":1},{"version":"255d948f87f24ffd57bcb2fdf95792fd418a2e1f712a98cf2cce88744d75085c","impliedFormat":1},{"version":"0d5b085f36e6dc55bc6332ecb9c733be3a534958c238fb8d8d18d4a2b6f2a15a","impliedFormat":1},{"version":"836b36913830645ac3b28fe33731aac3fdb3524ee8adbb4cdab9a5c189f41943","affectsGlobalScope":true,"impliedFormat":1},{"version":"bfd3b3c21a56104693183942e221c1896ee23bcb8f8d91ab0b941f7b32985411","impliedFormat":1},{"version":"d7e9ab1b0996639047c61c1e62f85c620e4382206b3abb430d9a21fb7bc23c77","impliedFormat":1},{"version":"d34aa8df2d0b18fb56b1d772ff9b3c7aea7256cf0d692f969be6e1d27b74d660","impliedFormat":1},{"version":"f4db16820c99b6db923ab18af5fecb02331d785c4c2a8a88373a0cfc08256589","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"6823ccc7b5b77bbf898d878dbcad18aa45e0fa96bdd0abd0de98d514845d9ed9","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"168d88e14e0d81fe170e0dadd38ae9d217476c11435ea640ddb9b7382bdb6c1f","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"8e04cf0688e0d921111659c2b55851957017148fa7b977b02727477d155b3c47","impliedFormat":1},{"version":"c4995b9aff5198bdf89671a2706a3bf7a6b28c37a3993fe5050ebd672a0b288f","impliedFormat":1},{"version":"deadc214692b01495c5a238636de31d5bea1930cfe38392c33389cccedb81366","affectsGlobalScope":true,"impliedFormat":1},{"version":"1f91b32305c574a29ec1d6fc58692dbf40df293f28b0e75f459bb385f573331a","impliedFormat":1},{"version":"d01e11b5b7322420f461524a98652b71abb2ba7e53d1ebfb500f056d81ee1003","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[210],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[205,1],[204,2],[201,3],[206,4],[202,5],[209,6],[144,7],[145,7],[146,8],[92,9],[147,10],[148,11],[149,12],[90,5],[150,13],[151,14],[152,15],[153,16],[154,17],[155,18],[156,18],[157,19],[158,20],[159,21],[160,22],[93,5],[91,5],[161,23],[162,24],[163,25],[197,26],[164,27],[165,5],[166,28],[167,29],[168,30],[169,31],[170,32],[171,33],[172,34],[173,35],[174,36],[175,36],[176,37],[177,5],[178,38],[179,39],[181,40],[180,41],[182,42],[183,43],[184,44],[185,45],[186,46],[187,47],[188,48],[189,49],[190,50],[191,51],[192,52],[193,53],[194,54],[94,5],[95,55],[96,5],[97,5],[140,56],[141,57],[142,5],[143,42],[195,58],[196,59],[208,60],[199,5],[200,5],[198,61],[203,62],[98,5],[207,63],[88,5],[89,5],[14,5],[15,5],[17,5],[16,5],[2,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[25,5],[3,5],[26,5],[27,5],[4,5],[28,5],[32,5],[29,5],[30,5],[31,5],[33,5],[34,5],[35,5],[5,5],[36,5],[37,5],[38,5],[39,5],[6,5],[43,5],[40,5],[41,5],[42,5],[44,5],[7,5],[45,5],[50,5],[51,5],[46,5],[47,5],[48,5],[49,5],[8,5],[55,5],[52,5],[53,5],[54,5],[56,5],[9,5],[57,5],[58,5],[59,5],[61,5],[60,5],[62,5],[63,5],[10,5],[64,5],[65,5],[66,5],[11,5],[67,5],[68,5],[69,5],[70,5],[71,5],[72,5],[12,5],[73,5],[74,5],[75,5],[76,5],[77,5],[1,5],[78,5],[79,5],[13,5],[80,5],[81,5],[82,5],[83,5],[84,5],[85,5],[86,5],[87,5],[116,64],[128,65],[114,66],[129,63],[138,67],[105,68],[106,69],[104,70],[137,71],[132,72],[136,73],[108,74],[125,75],[107,76],[135,77],[102,78],[103,72],[109,79],[110,5],[115,80],[113,79],[100,81],[139,82],[130,83],[119,84],[118,79],[120,85],[123,86],[117,87],[121,88],[133,71],[111,89],[112,90],[124,91],[101,63],[127,92],[126,79],[122,93],[131,5],[99,5],[134,94],[210,95]],"version":"6.0.3"} \ No newline at end of file diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..d352d31 --- /dev/null +++ b/test.sh @@ -0,0 +1,17 @@ +curl -X POST http://localhost:3000/print \ + -H "Content-Type: application/json" \ + -d '{ + "labelName": "outline" + }' + +curl -X POST http://localhost:3000/print \ + -H "Content-Type: application/json" \ + -d '{ + "labelName": "adres", + "headers": ["Voornaam", "Achternaam", "Straatnaam", "Huisnr", "Toev", "Postcode", "Woonplaats", "Land"], + "data": [ + ["Marieke", "de Vries", "Kerkweg", "5", "", "5678 CD", "Utrecht", "Nederland"], + ["Piet", "Pietersen", "Stationsplein", "101", "b", "9012 EF", "Rotterdam"], + ["Jan", "Jansen", "Dorpsstraat", "12", "a", "1234 AB", "Den Haag", "Nederland"] + ] + }' \ No newline at end of file diff --git a/test_download.sh b/test_download.sh new file mode 100644 index 0000000..098794e --- /dev/null +++ b/test_download.sh @@ -0,0 +1,19 @@ +curl -X POST http://localhost:3000/download \ + -H "Content-Type: application/json" \ + -d '{ + "labelName": "adres", + "headers": ["Voornaam", "Achternaam", "Straatnaam", "Huisnr", "Toev", "Postcode", "Woonplaats", "Land"], + "data": [ + ["Jan", "Jansen", "Dorpsstraat", "12", "a", "1234 AB", "Den Haag", "Nederland"] + ] + }' --output resultaat.pdf + +curl -X POST http://localhost:3000/download \ + -H "Content-Type: application/json" \ + -d '{ + "labelName": "etenopslag", + "headers": ["Product", "Datum"], + "data": [ + ["Aardappelpuree", "15-04-2026"] + ] + }' --output resultaat.pdf \ No newline at end of file