├── .github
└── workflows
│ └── codeql-analysis.yml
├── About.md
├── LICENSE
├── README.md
├── README_deutsch.md
├── code
├── OCRthyPDF.py
├── PySimpleGUI_4_60.py
└── splitter.py
├── gui
├── ocrthypdf.desktop
├── ocrthypdf.png
└── ocrthypdf.svg
├── licenses
├── Ghostscript_copyright
├── Leptonica_copyright
├── OCRmyPDF_copyright
├── PySimpleGUI_copyright
├── darkdetect_copyright
├── fonts-arkpandora_copyright
├── fonts-croscore_copyright
├── fonts-liberation2_copyright
├── icc-profiles-free_copyright
├── libxml2_copyright
├── pdftotext_copyright
├── pngquant_copyright
├── python3_copyright
├── pyzbar_copyright
├── qpdf_copyright
├── tesseract_copyright
├── tesseract_languages
├── zbar-library_copyright
└── zlib1g_copyright
├── screenshots
├── 1.png
├── 2.png
├── 3.png
├── 4.png
└── Readme.md
├── snapcraft.yaml
└── testing
├── AI_generated_text.pdf
├── Example.pdf
├── Example_Sticker_Mode.pdf
├── Readme.md
├── Separator.pdf
├── Separator_Page_Areas.odt
├── Separator_Page_Template.odt
└── barcodesQR.zip
/.github/workflows/codeql-analysis.yml:
--------------------------------------------------------------------------------
1 | # For most projects, this workflow file will not need changing; you simply need
2 | # to commit it to your repository.
3 | #
4 | # You may wish to alter this file to override the set of languages analyzed,
5 | # or to provide custom queries or build logic.
6 | #
7 | # ******** NOTE ********
8 | # We have attempted to detect the languages in your repository. Please check
9 | # the `language` matrix defined below to confirm you have the correct set of
10 | # supported CodeQL languages.
11 | #
12 | name: "CodeQL"
13 |
14 | on:
15 | push:
16 | branches: [ main ]
17 | pull_request:
18 | # The branches below must be a subset of the branches above
19 | branches: [ main ]
20 | schedule:
21 | - cron: '16 18 * * 2'
22 |
23 | jobs:
24 | analyze:
25 | name: Analyze
26 | runs-on: ubuntu-latest
27 | permissions:
28 | actions: read
29 | contents: read
30 | security-events: write
31 |
32 | strategy:
33 | fail-fast: false
34 | matrix:
35 | language: [ 'python' ]
36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
37 | # Learn more:
38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
39 |
40 | steps:
41 | - name: Checkout repository
42 | uses: actions/checkout@v2
43 |
44 | # Initializes the CodeQL tools for scanning.
45 | - name: Initialize CodeQL
46 | uses: github/codeql-action/init@v1
47 | with:
48 | languages: ${{ matrix.language }}
49 | # If you wish to specify custom queries, you can do so here or in a config file.
50 | # By default, queries listed here will override any specified in a config file.
51 | # Prefix the list here with "+" to use these queries and those in the config file.
52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main
53 |
54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
55 | # If this step fails, then you should remove it and run the build manually (see below)
56 | - name: Autobuild
57 | uses: github/codeql-action/autobuild@v1
58 |
59 | # ℹ️ Command-line programs to run using the OS shell.
60 | # 📚 https://git.io/JvXDl
61 |
62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
63 | # and modify them (or add more) to build your code if your project
64 | # uses a compiled language
65 |
66 | #- run: |
67 | # make bootstrap
68 | # make release
69 |
70 | - name: Perform CodeQL Analysis
71 | uses: github/codeql-action/analyze@v1
72 |
--------------------------------------------------------------------------------
/About.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU AFFERO GENERAL PUBLIC LICENSE
2 | Version 3, 19 November 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU Affero General Public License is a free, copyleft license for
11 | software and other kinds of works, specifically designed to ensure
12 | cooperation with the community in the case of network server software.
13 |
14 | The licenses for most software and other practical works are designed
15 | to take away your freedom to share and change the works. By contrast,
16 | our General Public Licenses are intended to guarantee your freedom to
17 | share and change all versions of a program--to make sure it remains free
18 | software for all its users.
19 |
20 | When we speak of free software, we are referring to freedom, not
21 | price. Our General Public Licenses are designed to make sure that you
22 | have the freedom to distribute copies of free software (and charge for
23 | them if you wish), that you receive source code or can get it if you
24 | want it, that you can change the software or use pieces of it in new
25 | free programs, and that you know you can do these things.
26 |
27 | Developers that use our General Public Licenses protect your rights
28 | with two steps: (1) assert copyright on the software, and (2) offer
29 | you this License which gives you legal permission to copy, distribute
30 | and/or modify the software.
31 |
32 | A secondary benefit of defending all users' freedom is that
33 | improvements made in alternate versions of the program, if they
34 | receive widespread use, become available for other developers to
35 | incorporate. Many developers of free software are heartened and
36 | encouraged by the resulting cooperation. However, in the case of
37 | software used on network servers, this result may fail to come about.
38 | The GNU General Public License permits making a modified version and
39 | letting the public access it on a server without ever releasing its
40 | source code to the public.
41 |
42 | The GNU Affero General Public License is designed specifically to
43 | ensure that, in such cases, the modified source code becomes available
44 | to the community. It requires the operator of a network server to
45 | provide the source code of the modified version running there to the
46 | users of that server. Therefore, public use of a modified version, on
47 | a publicly accessible server, gives the public access to the source
48 | code of the modified version.
49 |
50 | An older license, called the Affero General Public License and
51 | published by Affero, was designed to accomplish similar goals. This is
52 | a different license, not a version of the Affero GPL, but Affero has
53 | released a new version of the Affero GPL which permits relicensing under
54 | this license.
55 |
56 | The precise terms and conditions for copying, distribution and
57 | modification follow.
58 |
59 | TERMS AND CONDITIONS
60 |
61 | 0. Definitions.
62 |
63 | "This License" refers to version 3 of the GNU Affero General Public License.
64 |
65 | "Copyright" also means copyright-like laws that apply to other kinds of
66 | works, such as semiconductor masks.
67 |
68 | "The Program" refers to any copyrightable work licensed under this
69 | License. Each licensee is addressed as "you". "Licensees" and
70 | "recipients" may be individuals or organizations.
71 |
72 | To "modify" a work means to copy from or adapt all or part of the work
73 | in a fashion requiring copyright permission, other than the making of an
74 | exact copy. The resulting work is called a "modified version" of the
75 | earlier work or a work "based on" the earlier work.
76 |
77 | A "covered work" means either the unmodified Program or a work based
78 | on the Program.
79 |
80 | To "propagate" a work means to do anything with it that, without
81 | permission, would make you directly or secondarily liable for
82 | infringement under applicable copyright law, except executing it on a
83 | computer or modifying a private copy. Propagation includes copying,
84 | distribution (with or without modification), making available to the
85 | public, and in some countries other activities as well.
86 |
87 | To "convey" a work means any kind of propagation that enables other
88 | parties to make or receive copies. Mere interaction with a user through
89 | a computer network, with no transfer of a copy, is not conveying.
90 |
91 | An interactive user interface displays "Appropriate Legal Notices"
92 | to the extent that it includes a convenient and prominently visible
93 | feature that (1) displays an appropriate copyright notice, and (2)
94 | tells the user that there is no warranty for the work (except to the
95 | extent that warranties are provided), that licensees may convey the
96 | work under this License, and how to view a copy of this License. If
97 | the interface presents a list of user commands or options, such as a
98 | menu, a prominent item in the list meets this criterion.
99 |
100 | 1. Source Code.
101 |
102 | The "source code" for a work means the preferred form of the work
103 | for making modifications to it. "Object code" means any non-source
104 | form of a work.
105 |
106 | A "Standard Interface" means an interface that either is an official
107 | standard defined by a recognized standards body, or, in the case of
108 | interfaces specified for a particular programming language, one that
109 | is widely used among developers working in that language.
110 |
111 | The "System Libraries" of an executable work include anything, other
112 | than the work as a whole, that (a) is included in the normal form of
113 | packaging a Major Component, but which is not part of that Major
114 | Component, and (b) serves only to enable use of the work with that
115 | Major Component, or to implement a Standard Interface for which an
116 | implementation is available to the public in source code form. A
117 | "Major Component", in this context, means a major essential component
118 | (kernel, window system, and so on) of the specific operating system
119 | (if any) on which the executable work runs, or a compiler used to
120 | produce the work, or an object code interpreter used to run it.
121 |
122 | The "Corresponding Source" for a work in object code form means all
123 | the source code needed to generate, install, and (for an executable
124 | work) run the object code and to modify the work, including scripts to
125 | control those activities. However, it does not include the work's
126 | System Libraries, or general-purpose tools or generally available free
127 | programs which are used unmodified in performing those activities but
128 | which are not part of the work. For example, Corresponding Source
129 | includes interface definition files associated with source files for
130 | the work, and the source code for shared libraries and dynamically
131 | linked subprograms that the work is specifically designed to require,
132 | such as by intimate data communication or control flow between those
133 | subprograms and other parts of the work.
134 |
135 | The Corresponding Source need not include anything that users
136 | can regenerate automatically from other parts of the Corresponding
137 | Source.
138 |
139 | The Corresponding Source for a work in source code form is that
140 | same work.
141 |
142 | 2. Basic Permissions.
143 |
144 | All rights granted under this License are granted for the term of
145 | copyright on the Program, and are irrevocable provided the stated
146 | conditions are met. This License explicitly affirms your unlimited
147 | permission to run the unmodified Program. The output from running a
148 | covered work is covered by this License only if the output, given its
149 | content, constitutes a covered work. This License acknowledges your
150 | rights of fair use or other equivalent, as provided by copyright law.
151 |
152 | You may make, run and propagate covered works that you do not
153 | convey, without conditions so long as your license otherwise remains
154 | in force. You may convey covered works to others for the sole purpose
155 | of having them make modifications exclusively for you, or provide you
156 | with facilities for running those works, provided that you comply with
157 | the terms of this License in conveying all material for which you do
158 | not control copyright. Those thus making or running the covered works
159 | for you must do so exclusively on your behalf, under your direction
160 | and control, on terms that prohibit them from making any copies of
161 | your copyrighted material outside their relationship with you.
162 |
163 | Conveying under any other circumstances is permitted solely under
164 | the conditions stated below. Sublicensing is not allowed; section 10
165 | makes it unnecessary.
166 |
167 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
168 |
169 | No covered work shall be deemed part of an effective technological
170 | measure under any applicable law fulfilling obligations under article
171 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
172 | similar laws prohibiting or restricting circumvention of such
173 | measures.
174 |
175 | When you convey a covered work, you waive any legal power to forbid
176 | circumvention of technological measures to the extent such circumvention
177 | is effected by exercising rights under this License with respect to
178 | the covered work, and you disclaim any intention to limit operation or
179 | modification of the work as a means of enforcing, against the work's
180 | users, your or third parties' legal rights to forbid circumvention of
181 | technological measures.
182 |
183 | 4. Conveying Verbatim Copies.
184 |
185 | You may convey verbatim copies of the Program's source code as you
186 | receive it, in any medium, provided that you conspicuously and
187 | appropriately publish on each copy an appropriate copyright notice;
188 | keep intact all notices stating that this License and any
189 | non-permissive terms added in accord with section 7 apply to the code;
190 | keep intact all notices of the absence of any warranty; and give all
191 | recipients a copy of this License along with the Program.
192 |
193 | You may charge any price or no price for each copy that you convey,
194 | and you may offer support or warranty protection for a fee.
195 |
196 | 5. Conveying Modified Source Versions.
197 |
198 | You may convey a work based on the Program, or the modifications to
199 | produce it from the Program, in the form of source code under the
200 | terms of section 4, provided that you also meet all of these conditions:
201 |
202 | a) The work must carry prominent notices stating that you modified
203 | it, and giving a relevant date.
204 |
205 | b) The work must carry prominent notices stating that it is
206 | released under this License and any conditions added under section
207 | 7. This requirement modifies the requirement in section 4 to
208 | "keep intact all notices".
209 |
210 | c) You must license the entire work, as a whole, under this
211 | License to anyone who comes into possession of a copy. This
212 | License will therefore apply, along with any applicable section 7
213 | additional terms, to the whole of the work, and all its parts,
214 | regardless of how they are packaged. This License gives no
215 | permission to license the work in any other way, but it does not
216 | invalidate such permission if you have separately received it.
217 |
218 | d) If the work has interactive user interfaces, each must display
219 | Appropriate Legal Notices; however, if the Program has interactive
220 | interfaces that do not display Appropriate Legal Notices, your
221 | work need not make them do so.
222 |
223 | A compilation of a covered work with other separate and independent
224 | works, which are not by their nature extensions of the covered work,
225 | and which are not combined with it such as to form a larger program,
226 | in or on a volume of a storage or distribution medium, is called an
227 | "aggregate" if the compilation and its resulting copyright are not
228 | used to limit the access or legal rights of the compilation's users
229 | beyond what the individual works permit. Inclusion of a covered work
230 | in an aggregate does not cause this License to apply to the other
231 | parts of the aggregate.
232 |
233 | 6. Conveying Non-Source Forms.
234 |
235 | You may convey a covered work in object code form under the terms
236 | of sections 4 and 5, provided that you also convey the
237 | machine-readable Corresponding Source under the terms of this License,
238 | in one of these ways:
239 |
240 | a) Convey the object code in, or embodied in, a physical product
241 | (including a physical distribution medium), accompanied by the
242 | Corresponding Source fixed on a durable physical medium
243 | customarily used for software interchange.
244 |
245 | b) Convey the object code in, or embodied in, a physical product
246 | (including a physical distribution medium), accompanied by a
247 | written offer, valid for at least three years and valid for as
248 | long as you offer spare parts or customer support for that product
249 | model, to give anyone who possesses the object code either (1) a
250 | copy of the Corresponding Source for all the software in the
251 | product that is covered by this License, on a durable physical
252 | medium customarily used for software interchange, for a price no
253 | more than your reasonable cost of physically performing this
254 | conveying of source, or (2) access to copy the
255 | Corresponding Source from a network server at no charge.
256 |
257 | c) Convey individual copies of the object code with a copy of the
258 | written offer to provide the Corresponding Source. This
259 | alternative is allowed only occasionally and noncommercially, and
260 | only if you received the object code with such an offer, in accord
261 | with subsection 6b.
262 |
263 | d) Convey the object code by offering access from a designated
264 | place (gratis or for a charge), and offer equivalent access to the
265 | Corresponding Source in the same way through the same place at no
266 | further charge. You need not require recipients to copy the
267 | Corresponding Source along with the object code. If the place to
268 | copy the object code is a network server, the Corresponding Source
269 | may be on a different server (operated by you or a third party)
270 | that supports equivalent copying facilities, provided you maintain
271 | clear directions next to the object code saying where to find the
272 | Corresponding Source. Regardless of what server hosts the
273 | Corresponding Source, you remain obligated to ensure that it is
274 | available for as long as needed to satisfy these requirements.
275 |
276 | e) Convey the object code using peer-to-peer transmission, provided
277 | you inform other peers where the object code and Corresponding
278 | Source of the work are being offered to the general public at no
279 | charge under subsection 6d.
280 |
281 | A separable portion of the object code, whose source code is excluded
282 | from the Corresponding Source as a System Library, need not be
283 | included in conveying the object code work.
284 |
285 | A "User Product" is either (1) a "consumer product", which means any
286 | tangible personal property which is normally used for personal, family,
287 | or household purposes, or (2) anything designed or sold for incorporation
288 | into a dwelling. In determining whether a product is a consumer product,
289 | doubtful cases shall be resolved in favor of coverage. For a particular
290 | product received by a particular user, "normally used" refers to a
291 | typical or common use of that class of product, regardless of the status
292 | of the particular user or of the way in which the particular user
293 | actually uses, or expects or is expected to use, the product. A product
294 | is a consumer product regardless of whether the product has substantial
295 | commercial, industrial or non-consumer uses, unless such uses represent
296 | the only significant mode of use of the product.
297 |
298 | "Installation Information" for a User Product means any methods,
299 | procedures, authorization keys, or other information required to install
300 | and execute modified versions of a covered work in that User Product from
301 | a modified version of its Corresponding Source. The information must
302 | suffice to ensure that the continued functioning of the modified object
303 | code is in no case prevented or interfered with solely because
304 | modification has been made.
305 |
306 | If you convey an object code work under this section in, or with, or
307 | specifically for use in, a User Product, and the conveying occurs as
308 | part of a transaction in which the right of possession and use of the
309 | User Product is transferred to the recipient in perpetuity or for a
310 | fixed term (regardless of how the transaction is characterized), the
311 | Corresponding Source conveyed under this section must be accompanied
312 | by the Installation Information. But this requirement does not apply
313 | if neither you nor any third party retains the ability to install
314 | modified object code on the User Product (for example, the work has
315 | been installed in ROM).
316 |
317 | The requirement to provide Installation Information does not include a
318 | requirement to continue to provide support service, warranty, or updates
319 | for a work that has been modified or installed by the recipient, or for
320 | the User Product in which it has been modified or installed. Access to a
321 | network may be denied when the modification itself materially and
322 | adversely affects the operation of the network or violates the rules and
323 | protocols for communication across the network.
324 |
325 | Corresponding Source conveyed, and Installation Information provided,
326 | in accord with this section must be in a format that is publicly
327 | documented (and with an implementation available to the public in
328 | source code form), and must require no special password or key for
329 | unpacking, reading or copying.
330 |
331 | 7. Additional Terms.
332 |
333 | "Additional permissions" are terms that supplement the terms of this
334 | License by making exceptions from one or more of its conditions.
335 | Additional permissions that are applicable to the entire Program shall
336 | be treated as though they were included in this License, to the extent
337 | that they are valid under applicable law. If additional permissions
338 | apply only to part of the Program, that part may be used separately
339 | under those permissions, but the entire Program remains governed by
340 | this License without regard to the additional permissions.
341 |
342 | When you convey a copy of a covered work, you may at your option
343 | remove any additional permissions from that copy, or from any part of
344 | it. (Additional permissions may be written to require their own
345 | removal in certain cases when you modify the work.) You may place
346 | additional permissions on material, added by you to a covered work,
347 | for which you have or can give appropriate copyright permission.
348 |
349 | Notwithstanding any other provision of this License, for material you
350 | add to a covered work, you may (if authorized by the copyright holders of
351 | that material) supplement the terms of this License with terms:
352 |
353 | a) Disclaiming warranty or limiting liability differently from the
354 | terms of sections 15 and 16 of this License; or
355 |
356 | b) Requiring preservation of specified reasonable legal notices or
357 | author attributions in that material or in the Appropriate Legal
358 | Notices displayed by works containing it; or
359 |
360 | c) Prohibiting misrepresentation of the origin of that material, or
361 | requiring that modified versions of such material be marked in
362 | reasonable ways as different from the original version; or
363 |
364 | d) Limiting the use for publicity purposes of names of licensors or
365 | authors of the material; or
366 |
367 | e) Declining to grant rights under trademark law for use of some
368 | trade names, trademarks, or service marks; or
369 |
370 | f) Requiring indemnification of licensors and authors of that
371 | material by anyone who conveys the material (or modified versions of
372 | it) with contractual assumptions of liability to the recipient, for
373 | any liability that these contractual assumptions directly impose on
374 | those licensors and authors.
375 |
376 | All other non-permissive additional terms are considered "further
377 | restrictions" within the meaning of section 10. If the Program as you
378 | received it, or any part of it, contains a notice stating that it is
379 | governed by this License along with a term that is a further
380 | restriction, you may remove that term. If a license document contains
381 | a further restriction but permits relicensing or conveying under this
382 | License, you may add to a covered work material governed by the terms
383 | of that license document, provided that the further restriction does
384 | not survive such relicensing or conveying.
385 |
386 | If you add terms to a covered work in accord with this section, you
387 | must place, in the relevant source files, a statement of the
388 | additional terms that apply to those files, or a notice indicating
389 | where to find the applicable terms.
390 |
391 | Additional terms, permissive or non-permissive, may be stated in the
392 | form of a separately written license, or stated as exceptions;
393 | the above requirements apply either way.
394 |
395 | 8. Termination.
396 |
397 | You may not propagate or modify a covered work except as expressly
398 | provided under this License. Any attempt otherwise to propagate or
399 | modify it is void, and will automatically terminate your rights under
400 | this License (including any patent licenses granted under the third
401 | paragraph of section 11).
402 |
403 | However, if you cease all violation of this License, then your
404 | license from a particular copyright holder is reinstated (a)
405 | provisionally, unless and until the copyright holder explicitly and
406 | finally terminates your license, and (b) permanently, if the copyright
407 | holder fails to notify you of the violation by some reasonable means
408 | prior to 60 days after the cessation.
409 |
410 | Moreover, your license from a particular copyright holder is
411 | reinstated permanently if the copyright holder notifies you of the
412 | violation by some reasonable means, this is the first time you have
413 | received notice of violation of this License (for any work) from that
414 | copyright holder, and you cure the violation prior to 30 days after
415 | your receipt of the notice.
416 |
417 | Termination of your rights under this section does not terminate the
418 | licenses of parties who have received copies or rights from you under
419 | this License. If your rights have been terminated and not permanently
420 | reinstated, you do not qualify to receive new licenses for the same
421 | material under section 10.
422 |
423 | 9. Acceptance Not Required for Having Copies.
424 |
425 | You are not required to accept this License in order to receive or
426 | run a copy of the Program. Ancillary propagation of a covered work
427 | occurring solely as a consequence of using peer-to-peer transmission
428 | to receive a copy likewise does not require acceptance. However,
429 | nothing other than this License grants you permission to propagate or
430 | modify any covered work. These actions infringe copyright if you do
431 | not accept this License. Therefore, by modifying or propagating a
432 | covered work, you indicate your acceptance of this License to do so.
433 |
434 | 10. Automatic Licensing of Downstream Recipients.
435 |
436 | Each time you convey a covered work, the recipient automatically
437 | receives a license from the original licensors, to run, modify and
438 | propagate that work, subject to this License. You are not responsible
439 | for enforcing compliance by third parties with this License.
440 |
441 | An "entity transaction" is a transaction transferring control of an
442 | organization, or substantially all assets of one, or subdividing an
443 | organization, or merging organizations. If propagation of a covered
444 | work results from an entity transaction, each party to that
445 | transaction who receives a copy of the work also receives whatever
446 | licenses to the work the party's predecessor in interest had or could
447 | give under the previous paragraph, plus a right to possession of the
448 | Corresponding Source of the work from the predecessor in interest, if
449 | the predecessor has it or can get it with reasonable efforts.
450 |
451 | You may not impose any further restrictions on the exercise of the
452 | rights granted or affirmed under this License. For example, you may
453 | not impose a license fee, royalty, or other charge for exercise of
454 | rights granted under this License, and you may not initiate litigation
455 | (including a cross-claim or counterclaim in a lawsuit) alleging that
456 | any patent claim is infringed by making, using, selling, offering for
457 | sale, or importing the Program or any portion of it.
458 |
459 | 11. Patents.
460 |
461 | A "contributor" is a copyright holder who authorizes use under this
462 | License of the Program or a work on which the Program is based. The
463 | work thus licensed is called the contributor's "contributor version".
464 |
465 | A contributor's "essential patent claims" are all patent claims
466 | owned or controlled by the contributor, whether already acquired or
467 | hereafter acquired, that would be infringed by some manner, permitted
468 | by this License, of making, using, or selling its contributor version,
469 | but do not include claims that would be infringed only as a
470 | consequence of further modification of the contributor version. For
471 | purposes of this definition, "control" includes the right to grant
472 | patent sublicenses in a manner consistent with the requirements of
473 | this License.
474 |
475 | Each contributor grants you a non-exclusive, worldwide, royalty-free
476 | patent license under the contributor's essential patent claims, to
477 | make, use, sell, offer for sale, import and otherwise run, modify and
478 | propagate the contents of its contributor version.
479 |
480 | In the following three paragraphs, a "patent license" is any express
481 | agreement or commitment, however denominated, not to enforce a patent
482 | (such as an express permission to practice a patent or covenant not to
483 | sue for patent infringement). To "grant" such a patent license to a
484 | party means to make such an agreement or commitment not to enforce a
485 | patent against the party.
486 |
487 | If you convey a covered work, knowingly relying on a patent license,
488 | and the Corresponding Source of the work is not available for anyone
489 | to copy, free of charge and under the terms of this License, through a
490 | publicly available network server or other readily accessible means,
491 | then you must either (1) cause the Corresponding Source to be so
492 | available, or (2) arrange to deprive yourself of the benefit of the
493 | patent license for this particular work, or (3) arrange, in a manner
494 | consistent with the requirements of this License, to extend the patent
495 | license to downstream recipients. "Knowingly relying" means you have
496 | actual knowledge that, but for the patent license, your conveying the
497 | covered work in a country, or your recipient's use of the covered work
498 | in a country, would infringe one or more identifiable patents in that
499 | country that you have reason to believe are valid.
500 |
501 | If, pursuant to or in connection with a single transaction or
502 | arrangement, you convey, or propagate by procuring conveyance of, a
503 | covered work, and grant a patent license to some of the parties
504 | receiving the covered work authorizing them to use, propagate, modify
505 | or convey a specific copy of the covered work, then the patent license
506 | you grant is automatically extended to all recipients of the covered
507 | work and works based on it.
508 |
509 | A patent license is "discriminatory" if it does not include within
510 | the scope of its coverage, prohibits the exercise of, or is
511 | conditioned on the non-exercise of one or more of the rights that are
512 | specifically granted under this License. You may not convey a covered
513 | work if you are a party to an arrangement with a third party that is
514 | in the business of distributing software, under which you make payment
515 | to the third party based on the extent of your activity of conveying
516 | the work, and under which the third party grants, to any of the
517 | parties who would receive the covered work from you, a discriminatory
518 | patent license (a) in connection with copies of the covered work
519 | conveyed by you (or copies made from those copies), or (b) primarily
520 | for and in connection with specific products or compilations that
521 | contain the covered work, unless you entered into that arrangement,
522 | or that patent license was granted, prior to 28 March 2007.
523 |
524 | Nothing in this License shall be construed as excluding or limiting
525 | any implied license or other defenses to infringement that may
526 | otherwise be available to you under applicable patent law.
527 |
528 | 12. No Surrender of Others' Freedom.
529 |
530 | If conditions are imposed on you (whether by court order, agreement or
531 | otherwise) that contradict the conditions of this License, they do not
532 | excuse you from the conditions of this License. If you cannot convey a
533 | covered work so as to satisfy simultaneously your obligations under this
534 | License and any other pertinent obligations, then as a consequence you may
535 | not convey it at all. For example, if you agree to terms that obligate you
536 | to collect a royalty for further conveying from those to whom you convey
537 | the Program, the only way you could satisfy both those terms and this
538 | License would be to refrain entirely from conveying the Program.
539 |
540 | 13. Remote Network Interaction; Use with the GNU General Public License.
541 |
542 | Notwithstanding any other provision of this License, if you modify the
543 | Program, your modified version must prominently offer all users
544 | interacting with it remotely through a computer network (if your version
545 | supports such interaction) an opportunity to receive the Corresponding
546 | Source of your version by providing access to the Corresponding Source
547 | from a network server at no charge, through some standard or customary
548 | means of facilitating copying of software. This Corresponding Source
549 | shall include the Corresponding Source for any work covered by version 3
550 | of the GNU General Public License that is incorporated pursuant to the
551 | following paragraph.
552 |
553 | Notwithstanding any other provision of this License, you have
554 | permission to link or combine any covered work with a work licensed
555 | under version 3 of the GNU General Public License into a single
556 | combined work, and to convey the resulting work. The terms of this
557 | License will continue to apply to the part which is the covered work,
558 | but the work with which it is combined will remain governed by version
559 | 3 of the GNU General Public License.
560 |
561 | 14. Revised Versions of this License.
562 |
563 | The Free Software Foundation may publish revised and/or new versions of
564 | the GNU Affero General Public License from time to time. Such new versions
565 | will be similar in spirit to the present version, but may differ in detail to
566 | address new problems or concerns.
567 |
568 | Each version is given a distinguishing version number. If the
569 | Program specifies that a certain numbered version of the GNU Affero General
570 | Public License "or any later version" applies to it, you have the
571 | option of following the terms and conditions either of that numbered
572 | version or of any later version published by the Free Software
573 | Foundation. If the Program does not specify a version number of the
574 | GNU Affero General Public License, you may choose any version ever published
575 | by the Free Software Foundation.
576 |
577 | If the Program specifies that a proxy can decide which future
578 | versions of the GNU Affero General Public License can be used, that proxy's
579 | public statement of acceptance of a version permanently authorizes you
580 | to choose that version for the Program.
581 |
582 | Later license versions may give you additional or different
583 | permissions. However, no additional obligations are imposed on any
584 | author or copyright holder as a result of your choosing to follow a
585 | later version.
586 |
587 | 15. Disclaimer of Warranty.
588 |
589 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
590 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
591 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
592 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
593 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
594 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
595 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
596 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
597 |
598 | 16. Limitation of Liability.
599 |
600 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
601 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
602 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
603 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
604 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
605 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
606 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
607 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
608 | SUCH DAMAGES.
609 |
610 | 17. Interpretation of Sections 15 and 16.
611 |
612 | If the disclaimer of warranty and limitation of liability provided
613 | above cannot be given local legal effect according to their terms,
614 | reviewing courts shall apply local law that most closely approximates
615 | an absolute waiver of all civil liability in connection with the
616 | Program, unless a warranty or assumption of liability accompanies a
617 | copy of the Program in return for a fee.
618 |
619 | END OF TERMS AND CONDITIONS
620 |
621 | How to Apply These Terms to Your New Programs
622 |
623 | If you develop a new program, and you want it to be of the greatest
624 | possible use to the public, the best way to achieve this is to make it
625 | free software which everyone can redistribute and change under these terms.
626 |
627 | To do so, attach the following notices to the program. It is safest
628 | to attach them to the start of each source file to most effectively
629 | state the exclusion of warranty; and each file should have at least
630 | the "copyright" line and a pointer to where the full notice is found.
631 |
632 |
633 | Copyright (C)
634 |
635 | This program is free software: you can redistribute it and/or modify
636 | it under the terms of the GNU Affero General Public License as published
637 | by the Free Software Foundation, either version 3 of the License, or
638 | (at your option) any later version.
639 |
640 | This program is distributed in the hope that it will be useful,
641 | but WITHOUT ANY WARRANTY; without even the implied warranty of
642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
643 | GNU Affero General Public License for more details.
644 |
645 | You should have received a copy of the GNU Affero General Public License
646 | along with this program. If not, see .
647 |
648 | Also add information on how to contact you by electronic and paper mail.
649 |
650 | If your software can interact with users remotely through a computer
651 | network, you should also make sure that it provides a way for users to
652 | get its source. For example, if your program is a web application, its
653 | interface could display a "Source" link that leads users to an archive
654 | of the code. There are many ways you could offer source, and different
655 | solutions will be better for different programs; see section 13 for the
656 | specific requirements.
657 |
658 | You should also get your employer (if you work as a programmer) or school,
659 | if any, to sign a "copyright disclaimer" for the program, if necessary.
660 | For more information on this, and how to apply and follow the GNU AGPL, see
661 | .
662 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # OCRthyPDF-Essentials
2 | Make your PDF files text-searchable (A GUI for [OCRmyPDF](https://github.com/jbarlow83/OCRmyPDF/))
3 |
4 | It started with the idea to provide users that are not used to command line tools access to OCRmyPDF's basic features.
5 |
6 | 
7 |
8 | It supports more than 100 languages "out-of-the-box" (all languages that are installed with tesseract).
9 |
10 | The splitter function extends the text recognition provided by OCRmyPDF. It allows scanned documents to be separated at [separator pages](https://github.com/digidigital/OCRthyPDF-Essentials/blob/main/testing/Separator.pdf) - defined by a QR code - before text recognition. A QR code can mark a [separator-only page](https://github.com/digidigital/OCRthyPDF-Essentials/blob/main/testing/Separator.pdf) that is discarded. Alternatively, in sticker mode, the QR code defines the first page of a new document and is retained.
11 |
12 | If you like the results created with OCRthyPDF but need more flexibility I suggest you give [OCRmyPDF](https://github.com/jbarlow83/OCRmyPDF/) a try on the command line. :)
13 |
14 | # How To Install
15 | If you are using Ubuntu or any other Distro that comes with snap
pre-installed you can install it directly from the Snap Store
16 |
17 | [](https://snapcraft.io/ocrthypdf)
18 |
19 | or you can type
20 |
21 | sudo snap install ocrthypdf
22 |
23 | in your terminal.
24 |
25 | If your Distro does not have snap pre-installed you can find instructions for installing snap [here.](https://snapcraft.io/docs/installing-snapd)
26 |
27 | # Toubleshooting
28 | Snaps run in a restricted environment and need permissions to access files on your computer (Similar to apps on your smartphone). So first check if you have set the correct permissions in the snap store user interface.
29 |
30 | You can start OCRthyPDF from the terminal with
31 | ocrthypdf --log INFO
32 | or
33 | ocrthypdf --log DEBUG
34 | in order to get more info in case the application does not work as expected.
35 |
36 | Info about subprocesses like OCRmyPDF, Splitter, Ghostscript, etc. is displayed in the console tab. Set 'Loglevel' to DEBUG and 'Limit console ...' to 'no' for detailed information.
37 |
38 | :pushpin: Still no clue what went wrong? Report an issue [here](https://github.com/digidigital/OCRthyPDF-Essentials/issues).
39 |
40 | # How To Use It
41 | 
42 |
43 | First you need to select a single PDF **or** a folder containing PDF files that should be processed by OCRmyPDF's character recognition. Then you specify a folder where the new PDFs will be saved. If no output folder is selected, the input folder ist set as output folder as well.
44 |
45 | The switches in the "Options" tab correspond to the values described in the [OCRmyPDF cookbook](https://ocrmypdf.readthedocs.io/en/v12.3.3/cookbook.html) and work exactly the same way. Not all combinations are useful or allowed. OCRthyPDF does not prevent you from setting such combinations. In most cases, OCR will simply refuse to start or abort with an error message. See the Console tab for detailed information about what went wrong.
46 |
47 | :pushpin: Caution: If you leave the postfix field blank and the output is written to the input folder, you will overwrite your source file! :facepalm:
48 |
49 | Start the OCR with the "Start OCR" button. You can press the "Stop OCR" button to stop all running OCR jobs.
50 |
51 | The activity indicator bar flashes while OCR is running.
52 |
53 | 
54 |
55 | The splitter enables you to split a PDF-file into separate files based on a separator barcode / QR-Code. This is very handy if you have to scan a lot of (multi-page) documents and don't want to scan each document separately. Just put a [separator page](https://github.com/digidigital/OCRthyPDF-Essentials/blob/main/testing/Separator.pdf) between each document and scan them at once!
56 |
57 | In order to avctivate the splitter set "Run splitter after OCR" to "yes".
58 |
59 | In the next field you have to specify a separator text. The splitter tries to find a QR code on each page and compares it's content with this text.
60 |
61 | The next switch selects the separator mode. By default, the separation page is omitted and not included in the output files. In Sticker Mode
62 | a QR-Code starts a new segment and the page will be added to the output. Each segment/document will be saved with a segment number as postfix.
63 | You can download standard QR-Codes with text "NEXT" [here](https://github.com/digidigital/OCRthyPDF-Essentials/raw/main/testing/barcodesQR.zip).
64 |
65 | You can use the pattern | in your QR-Code to add a custom postfix to the filename by using Sticker Mode. Use individual
66 | postfixes in each code since no segment numbers are added in this mode if a custom postfix is found.
67 |
68 | :pushpin: Examples for useful QR-Codes in Sticker Mode:
69 | - NEXT|CoverLetter - NEXT|Attachments
70 | - NEXT|CoverLetter_Miller - NEXT|CoverLetter_Smith
71 |
72 | :pushpin: If you select the option not to use the source filename in the output filename you are able to set the filenames by using the custom postfixes (if you leave the postfix field in the options tab blank).
73 |
74 | Before Splitter starts analyzing the pages of a PDF file, the source PDF file is rewritten with Ghostscript to work around some common problems with PDF files created by scanners/MFPs. Splitter looks for QR codes in the rewritten file, but assembles the split files directly from the source file.
75 |
76 | You can limit the QR-code search area to speed up splitting. 1 -> Search whole page, 0.5 -> search upper left quadrant of page, 0.25 -> search upper left quadrant of upper left quadrant.
77 |
78 | If you need the raw text of the final PDF-files set "Save text as separate .txt files" to "yes".
79 |
80 | 
81 |
82 | The Language tab lets you select the languages present in your documents. The default selection is English and the language of your desktop environment. Since the result of OCR **strongly** depends on this selection, you should select all languages you need and deselect all languages you don't!
83 |
84 | Language options with the "best-" prefix should give better results than the default options, but OCR may take longer.
85 |
86 | You can specify a location of a user words text file. This is a list of words (one word in each line) Tesseract should consider while performing OCR in addition to its standard language dictionaries. This can improve OCR quality especially for specialized and technical documents.
87 |
88 | 
89 |
90 | In the console you can see the output of the processes working "under the hood". This is helpful in case the results are different than expected or the OCR terminates with an error code. You can select the log levels "INFO" (status messages when everything works as expected) and "DEBUG" (a lot of detailed information). By default, the console shows the output of the last subprocess and is cleaned up when a new subprocess is started. You can set the console to show the information of all subprocesses without cleanup.
91 |
92 | The bars at the bottom indicates the status of the OCR job queue. "Queue" refers to documents waiting to be processed.
93 |
94 | A German version of this text can be found [here](https://github.com/digidigital/OCRthyPDF-Essentials/blob/main/README_deutsch.md).
95 |
--------------------------------------------------------------------------------
/README_deutsch.md:
--------------------------------------------------------------------------------
1 | # OCRthyPDF - Eine grafische Benutzeroberfläche für OCRmyPDF
2 |
3 | Originaltext auf: [blog.digidigital.de](https://blog.digidigital.de/?p=525&lang=de_DE)
4 |
5 | Da es leider immer wieder vorkommt, dass die Originaldateien eingescannter Texte nicht mehr vorliegen (oder nicht mehr gefunden werden können), muss in diesen Fällen eine Texterkennung bemüht werden, um aus den Bilddateien in den PDFs editierbaren Text zu erzeugen. Das Kommandozeilentool [OCRmyPDF](https://github.com/jbarlow83/OCRmyPDF/) von James Barlow hat mir diesbezüglich schon häufig das Leben im Umgang mit eingescannten Textdateien erleichtert.
6 |
7 | Da es ich keine einfach gehaltene grafische Benutzeroberfläche finden konnte, kam mir die Idee zu OCRthyPDF – Einer Benutzeroberfläche, die Anwendern, die nicht an die Benutzung von Kommandozeilen-Tools gewöhnt sind, den Zugang zu den grundlegenden Funktionen von OCRmyPDF ermöglicht.
8 |
9 | 
10 |
11 | Die Splitter-Funktion erweitert die von OCRmyPDF bereitgestellte Funktionalität um die Option, gescannte Dokumente vor der Texterkennung an [Trennseiten](https://github.com/digidigital/OCRthyPDF-Essentials/blob/main/testing/Separator.pdf) – definiert durch einen QR-Code – zu trennen. Ein QR-Code kann beispielsweise eine [reine Trennseite](https://github.com/digidigital/OCRthyPDF-Essentials/blob/main/testing/Separator.pdf) markieren, die bei der Erstellung der Zieldokumente verworfen wird. Alternativ kann der QR-Code im Aufklebermodus (Sticker Mode) die erste Seite eines neuen Dokuments markieren und wird beibehalten.
12 |
13 | # Download und Installationshinweise
14 | Wenn du Ubuntu oder eine andere Linux-Distro verwendst, auf der Snap / (Gnome Software) bereits vorinstalliert ist, kannst du OCRthy PDF direkt aus dem Store installieren.
15 |
16 | [](https://snapcraft.io/ocrthypdf)
17 |
18 | Alternativ gibst du im Terminal
19 |
20 | sudo snap install ocrthypdf
21 |
22 | ein.
23 |
24 | Wenn deine Distro Gnome Software / snap nicht vorinstalliert hat, findest du [hier](https://snapcraft.io/docs/installing-snapd) eine Anleitung zur Installation.
25 |
26 | # Fehlersuche
27 | Snaps werden in einer eingeschränkten Umgebung ausgeführt und benötigen Berechtigungen für den Zugriff auf Dateien auf deinem Rechner (ähnlich wie Apps auf dem Smartphone). Prüfe daher zunächst, ob du die richtigen Berechtigungen in der Benutzeroberfläche des Stores eingestellt hast.
28 |
29 | Du kannst OCRthyPDF über das Terminal mit ocrthypdf --log INFO
oder ocrthypdf --log DEBUG
starten, um weitere Informationen zu erhalten, falls die Anwendung nicht wie erwartet funktioniert.
30 |
31 | Informationen zu Unterprozessen wie OCRmyPDF, Splitter, Ghostscript usw. werden innerhalb der Registerkarte ‚Console‘ angezeigt. Setze den ‚Loglevel‘ auf DEBUG und ‚Limit console …‘ auf ’no‘ für eine detailliertere Ausgabe.
32 |
33 | :pushpin: Logs gecheckt und keine Ahnung, was schief gelaufen ist? Melde dein Problem hier.
34 |
35 | # Kurzanleitung
36 | 
37 |
38 | Zuerst musst du ein einzelnes PDF **oder** einen Ordner mit PDF-Dateien auswählen, die von der Zeichenerkennung verarbeitet werden sollen. Dann gibst du einen Ordner an, in dem die neuen PDFs gespeichert werden sollen. Wenn kein Ausgabeordner ausgewählt wird, wird der Eingabeordner automatisch als Ausgabeordner vorbelegt.
39 |
40 | Die Einstellungen in der Registerkarte „Optionen“ entsprechen den im OCRmyPDF cookbook beschriebenen Werten und funktionieren genau so. Nicht alle Kombinationen sind sinnvoll oder erlaubt. OCRthyPDF hindert dich nicht, solche Kombinationen einzustellen. In den meisten Fällen verweigert die Texterkennung einfach den Start oder bricht mit einer Fehlermeldung ab. In der Registerkarte ‚Console‘ findst du in diesen Fällen ausführliche Informationen darüber, was schief gelaufen ist.
41 |
42 | :stop_sign: Vorsicht! Wenn du das Postfix-Feld leer lässt und die Ausgabe in den Eingabeordner geschrieben wird, überschreibst du die Quelldatei! :facepalm:
43 |
44 | Starte die Texterkennung mit der Schaltfläche „Start OCR“. Du kannst die Schaltfläche „Stop OCR“ drücken, um alle laufenden OCR-Aufträge anzuhalten.
45 |
46 | Der Aktivitätsbalken neben den Buttons blinkt, während die OCR läuft.
47 |
48 | 
49 |
50 | Der Splitter ermöglicht es dir, eine PDF-Datei anhand eines Barcodes / QR-Codes in einzelne Dateien aufzuteilen. Das ist praktisch, wenn du viele (mehrseitige) Dokumente scannen musst und nicht jedes Dokument einzeln in den Scanner legen möchtest. Lege einfach eine [Tennseite](https://github.com/digidigital/OCRthyPDF-Essentials/blob/main/testing/Separator.pdf) zwischen die einzelnen Dokumente und scanne sie auf einmal!
51 |
52 | Um den Splitter zu aktivieren, setze „Run splitter after OCR“ auf „yes“.
53 |
54 | Im nächsten Feld musst du den Trenntext angeben. Der Splitter versucht, auf jeder Seite QR-Codes zu finden und vergleicht deren Inhalt mit diesem Text.
55 |
56 | Der nächste Schalter wählt den Trennblattmodus aus. Standardmäßig wird die Trennseite weggelassen und nicht in die Ausgabedateien übernommen. Im Aufklebermodus (Sticker Mode) beginnt ein QR-Code ein neues Segment und die Seite wird der Ausgabe hinzugefügt. Jedes Segment/Dokument wird mit seiner Segmentnummer als Postfix gespeichert. Standard-QR-Codes mit dem Text „NEXT“ kannst du [hier](https://github.com/digidigital/OCRthyPDF-Essentials/raw/main/testing/barcodesQR.zip) herunterladen.
57 |
58 | Du kannst das Muster | in deinen QR-Codes verwenden, um ein benutzerdefiniertes Postfix an den Dateinamen anzuhängen. Die entsprechende Funktion stellt der Sticker Modus bereit. Verwende individuelle Postfixe in jedem Code, da in diesem Modus keine Segmentnummern hinzugefügt werden, sofern ein benutzerdefiniertes Postfix gefunden wird.
59 |
60 | :pushpin: Beispiele für nützliche QR-Codes im Sticker-Modus:
61 |
62 | - NEXT|Anschreiben , NEXT|Lebenslauf , NEXT|Anlagen
63 | - NEXT|Bewerbung_Meier , NEXT|Bewerbung_Schmidt
64 |
65 | :pushpin: Wenn du die Option wählst, den Quelldateinamen nicht im Ausgabedateinamen zu verwenden, kannst du die Dateinamen mit Hilfe der benutzerdefinierten Postfixe festlegen (Dann auch das Postfix-Feld in der Registerkarte ‚Optionen‘ leer lassen).
66 |
67 | Bevor Splitter mit der Analyse der Seiten einer PDF-Datei beginnt, wird die Quell-PDF-Datei mit Ghostscript umgeschrieben, um einige häufige Probleme mit PDF-Dateien, die von Scannern/MFPs erzeugt werden, zu umgehen. Splitter sucht dann in der umgeschriebenen Datei nach QR-Codes, setzt aber die geteilten Dateien direkt aus der Quelldatei zusammen.
68 |
69 | :stop_sign: Hinweis: Wenn du gescannte Dokumente aufteilst, die lediglich Bitmap-Bilder enthalten, sollte die Aktivierung dieser Option kein Problem darstellen. Wenn du jedoch Dokumente aufteilst, die auch andere Elemente enthalten (Text, Schriftarten, Vektorzeichnungen usw.), kann das Ergebnis von der Quelle abweichen und du verlierst ggf. einige Inhalte oder Schriften!
70 |
71 | 
72 |
73 | In der Registerkarte 'Languages' kannst du die Sprachen (über 100 werden unterstützt!) auswählen, die in deinen Dokumenten genutzt werden. Die Standardauswahl ist Englisch und die Sprache deiner Desktop-Umgebung. Da das Ergebnis der OCR **stark** von dieser Auswahl abhängt, solltest du alle Sprachen auswählen, die du benötigst, und alle anderen Sprachen abwählen!
74 |
75 | Sprachen mit einem "best-" Prefix sollten bessere Ergebnisse erzielen, dafür dauert die Texterkennung länger.
76 |
77 | Du kannst den Speicherort einer Textdatei für benutzerdefinierte Wörter angeben. Dies ist eine Liste von Wörtern (ein Wort in jeder Zeile), die Tesseract
78 | bei der OCR zusätzlich zu seinen Standard-Sprachwörterbüchern nutzen soll. Dies kann die Texterkennungsqualität - insbesondere bei technischen oder fachspezifischen Dokumenten - verbessern.
79 |
80 | 
81 |
82 | In der Konsole kannst du die Ausgabe der Prozesse sehen, die „unter der Haube“ arbeiten. Dies ist hilfreich, falls die Texterkennung anders als erwartet ausfällt oder die Anwendung mit einem Fehlercode die Dokumentenbearbeitung abbricht. du kannst zwischen den Logleveln „INFO“ (Statusmeldungen, wenn alles wie erwartet funktioniert) und „DEBUG“ (viele detaillierte Informationen) wählen. Standardmäßig zeigt die Konsole nur die Ausgabe des letzten Unterprozesses an und wird bereinigt, wenn ein neuer Unterprozess gestartet wird. Du kannst die Konsole jedoch auch so einstellen, dass sie die Informationen aller Unterprozesse eines OCR-Auftrages ohne Bereinigung anzeigt.
83 |
84 | Der Balken am unteren Rand zeigt den Status der Warteschlang für OCR-Aufträge (Texterkennung) an. Die „Warteschlange“ bezieht sich auf Dokumente, die auf ihre Verarbeitung warten.
85 |
86 | # Weiterführende Links
87 |
88 | Alternative Software und weitere Informationen zum Thema findest du unter anderem hier:
89 |
90 | - [Tesseract – Die von OCRmyPDF genutze Texterkennung](https://github.com/tesseract-ocr/tesseract)
91 | - [Onlinedokumentation von OCRmyPDF](https://ocrmypdf.readthedocs.io/en/latest/index.html)
92 | - [ocrmypdfgui – Eine Alternative zu OCRthyPDF](https://snapcraft.io/ocrmypdfgui)
93 | - [scanprep – Ein alternativer Splitter auf der Kommadozeile](https://snapcraft.io/scanprep)
94 | - [pdfQRSplit – Ein weiterer Splitter auf der kommandozeile](https://github.com/adlerweb/PdfQRSplit)
95 |
96 |
--------------------------------------------------------------------------------
/code/splitter.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | #Version 0.7.1
3 |
4 | import logging
5 | import argparse
6 | import subprocess
7 | import shlex
8 | import sys
9 | import time
10 | import concurrent.futures
11 | import pdftotext
12 | from pyzbar.pyzbar import decode, ZBarSymbol
13 | from tempfile import TemporaryDirectory
14 | from pikepdf import Pdf, PdfImage, PdfError, _cpphelpers
15 | from os import path
16 | from multiprocessing import cpu_count
17 | from shutil import copy2
18 |
19 | def searchPDF (PDFfile, separator):
20 | try:
21 | startAnalysisTime = time.time()
22 | with open(PDFfile, "rb") as fp:
23 | pdfAsText = pdftotext.PDF(fp)
24 | separatorPages={}
25 | pageNumber=0
26 | for page in pdfAsText:
27 | logging.info('Searching for separator on page: %d'% (pageNumber+1))
28 | if str(page).find(separator) != -1:
29 | separatorPages[pageNumber]=''
30 | logging.info('Found separator on page: %d'% (pageNumber+1))
31 | pageNumber += 1
32 | logging.info('Analysis completed: %d separators found on %d pages. This step took about %d seconds'%(len(separatorPages),pageNumber, int(time.time() - startAnalysisTime)))
33 | return separatorPages
34 | except Exception as error:
35 | logging.critical('Text-searching file %s failed. %e' % (PDFfile, error))
36 | return separatorPages
37 |
38 | def analyzePage(PDF, pageNumber, separator='NEXT', mode='QR', cropfactor=1):
39 |
40 | #Set separatorCode to None. If separatorCode has any other value than None
41 | #a separator was found on the page
42 | separatorCode=None
43 | logging.debug('Analyzing page: %d'% (pageNumber+1))
44 |
45 | if mode == 'QR':
46 | symbols = [ZBarSymbol.QRCODE]
47 | else:
48 | symbols = None
49 |
50 | for image in PDF.pages[0].images.keys():
51 | uncroppedImage = PdfImage(PDF.pages[0].images[image]).as_pil_image()
52 | width, height = uncroppedImage.size
53 | cropbox=(0, 0, int(width*cropfactor), int(height*cropfactor))
54 | pdfimage = uncroppedImage.crop(cropbox)
55 | uncroppedImage.close()
56 |
57 | logging.debug('Extracting and analyzing an image of type %s on page %d' % (type(pdfimage),pageNumber+1))
58 |
59 | try:
60 | barcodes = decode(pdfimage, symbols)
61 |
62 | except Exception as error:
63 | logging.debug('Decoding barcode failed. Skipping one image on page %d - %s' % (pageNumber+1, error))
64 | continue
65 |
66 | pdfimage.close()
67 |
68 | for barcode in barcodes:
69 |
70 | barcodeText=str(barcode.data.decode("utf-8"))
71 | logging.debug('QR-Code / Barcode containing text "%s" found on page %d. Use | as delimiter if you want to use a custom postfix' % (str(barcodeText), pageNumber+1))
72 | barcodeComponents = barcodeText.split('|',1)
73 |
74 | if len(barcodeComponents)==2 and barcodeComponents[0] == separator:
75 | separatorCode = str(barcodeComponents[1])
76 | #Do not checkfor barcodes in remaining data
77 | break
78 |
79 | elif barcodeComponents[0] == separator:
80 | separatorCode = ''
81 | #Do not check for barcodes in remaining data
82 | break
83 |
84 | else:
85 | logging.debug('Ignored. Reason: "%s" on page %d does not start with separator "%s". Use | as delimiter if you want to use a custom postfix' % (str(barcodeText), pageNumber+1, separator))
86 | continue
87 |
88 |
89 |
90 | #Skip remaining images if valid separator was found on page
91 | if separatorCode != None:
92 | break
93 |
94 | return (pageNumber,separatorCode)
95 |
96 | def savePDFTextFile(PDFfile):
97 | '''Save text in PDF file to a text file'''
98 | logging.debug('Saving text %s.txt file' % PDFfile)
99 | try:
100 | with open(PDFfile, "rb") as fp:
101 | pdfAsText = pdftotext.PDF(fp)
102 | with open(PDFfile+'.txt', 'w') as f:
103 | for page in pdfAsText:
104 | f.write('%s\n' % page)
105 | except Exception as error:
106 | logging.critical('Saving text file %s failed. %e' % (PDFfile, error))
107 | return
108 | logging.debug('Text file saved')
109 |
110 |
111 | def splitPDF(filename:str, outpath:str, separator='NEXT', mode='QR', stickerMode=False, dropName=False, workers=0, skipRewrite=False, cropfactor=1, extractText=False):
112 | startSplitTime = time.time()
113 | if not skipRewrite:
114 | logging.debug('Rewriting PDF %s to temporary file.' % filename)
115 | tempSourceDir = TemporaryDirectory()
116 | rewrittenPDF = path.join(tempSourceDir.name, "tempPDF.pdf")
117 |
118 | gsQuiet=''
119 | #gsQuiet=' -q '
120 |
121 | # Rewrite PDF and try to fix issues
122 | # Remove images if searching for keywords, remove text if searching for QR/Barcodes
123 | if mode == "KEYWORD":
124 | gsFilter = ' -dFILTERIMAGE -dFILTERVECTOR '
125 | else:
126 | gsFilter = ' -dFILTERTEXT -dFILTERVECTOR '
127 |
128 | command = shlex.split("gs -o " + rewrittenPDF + gsQuiet + " -sDEVICE=pdfwrite " + gsFilter + " -dPDFSETTINGS=/default -dNEWPDF -sstdout=%stderr '" + filename + "'")
129 |
130 | logging.debug(command)
131 | try:
132 | subprocess.run(command)
133 | logging.debug('Rewriting completed after %d seconds.'%(int(time.time() - startSplitTime)))
134 | except Exception as error:
135 | logging.debug('Rewriting failed. Is Ghostscript installed and in PATH? %s' % error)
136 | sys.exit("Unable to start rewrite step. Is Ghostscript installed?")
137 | loadpdf = rewrittenPDF
138 | else:
139 | logging.debug('Rewriting is skipped. Working with source PDF.')
140 | loadpdf = filename
141 |
142 | try:
143 | pdf = Pdf.open(loadpdf)
144 | except Exception as error:
145 | logging.critical('Loading PDF %s failed. %s' % (loadpdf, error))
146 | sys.exit("Unable to open PDF file.")
147 |
148 | if not outpath:
149 | outpath=path.dirname(filename)
150 |
151 | if dropName == True:
152 | sourceName = ''
153 | else:
154 | sourceName = path.basename(filename).split('.',1)[0]+'_'
155 |
156 | # key: page number where barcode was found, value: a value in the barcode separated
157 | # by | or the number of QR-Codes found
158 | separatorPages={}
159 |
160 | if workers > 0:
161 | max_workers = workers
162 | else:
163 | max_workers = cpu_count() - 1
164 |
165 | if mode != 'KEYWORD':
166 | # let's see how quick we can analyze the pages in multiprocessing/threading
167 | startAnalysisTime = time.time()
168 | logging.debug('Extracting images and searching for QR-Codes / Barcodes')
169 |
170 | pageCollection=[]
171 | #creating single page PDFs since passing a page directly raises a pickle exception / images can not be accessed :(
172 | for page in pdf.pages:
173 | tempPDF = Pdf.new()
174 | tempPDF.pages.append(page)
175 | pageCollection.append(tempPDF)
176 | pdf.close()
177 |
178 | logging.debug('Analyzing pages with %d workers' % (max_workers))
179 | with concurrent.futures.ThreadPoolExecutor(max_workers) as executor:
180 | future_page_analyzer = {executor.submit(analyzePage, pageCollection[pageNumber], pageNumber, separator, mode, cropfactor): pageNumber for pageNumber in range(len(pdf.pages))}
181 | for future in concurrent.futures.as_completed(future_page_analyzer):
182 | thread = future_page_analyzer[future]
183 | try:
184 | if future.result()[1] != None:
185 | separatorPages[future.result()[0]]=future.result()[1]
186 |
187 | except Exception as exc:
188 | logging.debug('Thread %r generated an exception: %s' % (thread, exc))
189 |
190 | logging.debug('Analysis completed: %d separators found on %d pages. This step took about %d seconds'%(len(separatorPages),len(pdf.pages), int(time.time() - startAnalysisTime)))
191 |
192 | pageCollection.clear()
193 |
194 | else:
195 | separatorPages = searchPDF (filename, separator)
196 |
197 | # All filenames created while splitting go here
198 | fileList=[]
199 |
200 | if len(separatorPages)>0:
201 | logging.debug('Pages will be copied from original PDF.')
202 |
203 | try:
204 | sourcePDF = Pdf.open(filename)
205 | except:
206 | logging.critical('Loading of PDF %s failed.' % filename)
207 | sys.exit("Unable to open PDF file.")
208 |
209 | #Separator pages start new segment and will be kept
210 | if stickerMode == True:
211 | logging.debug('Assembling PDFs in "Sticker Mode"')
212 | pageList=sorted(separatorPages.keys())
213 | for x in range (0,len(pageList)):
214 |
215 | startPage=pageList[x]
216 |
217 | if x == len(pageList)-1:
218 | #Last segment ends with last page of PDF
219 | endPage=len(sourcePDF.pages)
220 | else:
221 | #Stop segment one Page before another QR-Code was found
222 | endPage=pageList[x+1]
223 |
224 | splitPDF = Pdf.new()
225 |
226 | #is either part of QR-Code or index number
227 | filenamePostfix=str(separatorPages[pageList[x]])
228 | if filenamePostfix=='':
229 | filenamePostfix = "%04d"% (x+1)
230 |
231 | pageRange = range (startPage, endPage)
232 | for includePage in pageRange:
233 | logging.debug('Adding source page %d to new PDF' % (includePage+1))
234 | splitPDF.pages.append(sourcePDF.pages[includePage])
235 | saveAs = path.join(outpath , str(sourceName) + str(filenamePostfix) + '.pdf')
236 | logging.debug('Saving PDF: %s' % (saveAs))
237 | fileList.append(saveAs)
238 | try:
239 | splitPDF.save(saveAs)
240 | splitPDF.close()
241 | except Exception as e:
242 | logging.critical('Saving split PDF %s failed. %s' % (saveAs, e))
243 | continue
244 |
245 | try:
246 | if extractText==True:
247 | savePDFTextFile (saveAs)
248 | except Exception as e:
249 | logging.critical('Saving PDF %s failed. %s' % (saveAs, e))
250 | continue
251 |
252 | #Separator pages are dropped
253 | else:
254 | logging.debug('Assembling PDFs in "Separator Page Mode"')
255 | startPage=0
256 | pageList=sorted(separatorPages.keys())
257 |
258 | #Multithreading candidate??
259 | for x in range (0,len(pageList)+1):
260 |
261 | if x == len(pageList):
262 | #Last segment ends with last page of PDF
263 | endPage=len(sourcePDF.pages)
264 | else:
265 | #Stop at page before separator was found
266 | endPage=pageList[x]
267 | splitPDF = Pdf.new()
268 |
269 | filenamePostfix= "%04d" % (x+1)
270 |
271 | hasPages = False
272 |
273 | pageRange = range (startPage, endPage)
274 | for includePage in pageRange:
275 | logging.debug('Adding source page %d to new PDF' % (includePage+1))
276 | splitPDF.pages.append(sourcePDF.pages[includePage])
277 | hasPages = True
278 | if hasPages:
279 | saveAs = path.join(outpath , str(sourceName) + str(filenamePostfix) + '.pdf')
280 | logging.info('Saving PDF: %s' % (saveAs))
281 | fileList.append(saveAs)
282 | try:
283 | splitPDF.save(saveAs)
284 | splitPDF.close()
285 | except Exception as e:
286 | logging.critical('Saving raw text of split PDF %s failed. %s' % (saveAs, e))
287 | continue
288 |
289 | try:
290 | if extractText==True:
291 | savePDFTextFile (saveAs)
292 | except Exception as e:
293 | logging.critical('Saving raw text of split PDF %s failed. %s' % (saveAs, e))
294 | continue
295 |
296 |
297 |
298 | else:
299 | logging.debug('Segment %s has no pages. Separator on first page, last page or on consecutive pages?'% (str(filenamePostfix)))
300 |
301 |
302 | startPage=endPage+1
303 | logging.info('Finished splitting %s in: %d seconds.'%(filename, int(time.time() - startSplitTime)))
304 |
305 | sourcePDF.close()
306 |
307 | if len(fileList) == 0:
308 | saveAs = path.join(outpath , path.basename(filename))
309 | try:
310 | logging.debug('Start to copy')
311 | copy2(filename, saveAs)
312 | fileList.append(saveAs)
313 | logging.info('%s copied to %s' % (filename, saveAs))
314 | try:
315 | if extractText==True:
316 | savePDFTextFile (saveAs)
317 | except Exception as e:
318 | logging.critical('Saving raw text of PDF %s failed. %s' % (saveAs, e))
319 | except:
320 | logging.critical('Writing source file to output folder failed')
321 |
322 | logging.debug('Total time: %d seconds.'%(int(time.time() - startSplitTime)))
323 | return fileList
324 |
325 |
326 | if __name__ == "__main__":
327 |
328 | parser = argparse.ArgumentParser(description="""Split a PDF-file into separate files based on a separator QR-Code / barcode / keyword.
329 | Without --sticker-mode the separator page will be discarded. In Sticker Mode
330 | a separator starts a new segment and the page will be added to the output.
331 | Be sure to add a separator to the first page as well when using Sticker Mode.
332 | You can use the pattern | in your QR-Code / Barcode
333 | to add a custom postfix to the filename by using --sticker-mode (Use individual
334 | postfixes in each code since no segment numbers are added).
335 |
336 | Examples:
337 | NEXT|CoverLetter NEXT|Attachments
338 | or
339 | NEXT|CoverLetter_Miller NEXT|CoverLetter_Smith
340 |
341 | If you use Sticker Mode without a custom prefix segment numbers will be added
342 | to the filename.""")
343 |
344 | parser.add_argument('filename', metavar='/path/to/inputfile.pdf', type=str,
345 | help='Filename of PDF')
346 | parser.add_argument('-d', '--drop-filename', action='store_true',
347 | help='Do not use input filename for output filename')
348 | parser.add_argument('-s', '--separator', type=str, default="NEXT",
349 | help='Separator word used to find separator pages. Default: NEXT')
350 | parser.add_argument('--sticker-mode', action='store_true',
351 | help='New PDF-Seqment starts at QR-Code (Page will be kept). Add custom postfix to barcode content by using | as delimiter')
352 | parser.add_argument('-w', '--workers', type=int, default=0,
353 | help='Number of process workers. Default is CPU cores - 1.')
354 | parser.add_argument('-sr', '--skip-rewrite', action='store_true',
355 | help='Skip rewrite / preparation step and work with unaltered source PDF.')
356 | parser.add_argument('-m,', '--mode', default="QR", choices=['QR', 'BARCODE', 'KEYWORD'],
357 | help='Select used separator: QR (default), BARCODE, KEYWORD')
358 | parser.add_argument('-af', '--area-factor', type=float, choices=[(1 * x / 4 ) for x in range(1, 5)], default=1.0,
359 | help='Speed up QR/Barcode search by limiting search area. Origin is top left corner. Default is 1.0 (whole page). E.g. 0.5 is upper left quadrant.')
360 | parser.add_argument('-t', '--extract-text', action='store_true',
361 | help='Save text in separate text file')
362 | parser.add_argument('-o', '--output-folder', metavar='/path/to/output/folder', type=str,
363 | help='Where to save the split files? Default: Same as input folder')
364 | parser.add_argument('--log', default="WARNING", choices=['WARNING', 'INFO', 'DEBUG'],
365 | help='Available log levels: WARNING, INFO, DEBUG')
366 |
367 | args = parser.parse_args()
368 |
369 | #logger = logging.getLogger('splitPDF')
370 | loglevel=logging.getLevelName(args.log.upper())
371 | if isinstance(loglevel, int):
372 | logging.basicConfig(level=loglevel)
373 | else:
374 | raise ValueError('Invalid log level: %s' % loglevel)
375 |
376 | for file in splitPDF (args.filename, args.output_folder, args.separator, args.mode, args.sticker_mode, args.drop_filename, args.workers, args.skip_rewrite, args.area_factor, args.extract_text):
377 | print(file)
378 |
--------------------------------------------------------------------------------
/gui/ocrthypdf.desktop:
--------------------------------------------------------------------------------
1 | [Desktop Entry]
2 | Name=OCRthyPDF
3 | GenericName=Document Encryption
4 | Comment=OCR for PDF files
5 | Exec=ocrthypdf
6 | Icon=${SNAP}/gui/ocrthypdf.svg
7 | Terminal=false
8 | Type=Application
9 | Categories=Utility;
10 | StartupNotify=true
11 |
--------------------------------------------------------------------------------
/gui/ocrthypdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/gui/ocrthypdf.png
--------------------------------------------------------------------------------
/gui/ocrthypdf.svg:
--------------------------------------------------------------------------------
1 |
2 |
180 |
--------------------------------------------------------------------------------
/licenses/Leptonica_copyright:
--------------------------------------------------------------------------------
1 | This package was debianized by Jeff Breidenbach on
2 | Tue, 27 Jun 2006 14:50:37 -0700.
3 |
4 | It was downloaded from https://github.com/DanBloomberg/leptonica/releases
5 |
6 | Copyright:
7 |
8 | Upstream Author: Dan Bloomberg
9 |
10 | License:
11 |
12 | /*====================================================================*
13 | - Copyright (C) 2001 Leptonica. All rights reserved.
14 | -
15 | - Redistribution and use in source and binary forms, with or without
16 | - modification, are permitted provided that the following conditions
17 | - are met:
18 | - 1. Redistributions of source code must retain the above copyright
19 | - notice, this list of conditions and the following disclaimer.
20 | - 2. Redistributions in binary form must reproduce the above
21 | - copyright notice, this list of conditions and the following
22 | - disclaimer in the documentation and/or other materials
23 | - provided with the distribution.
24 | -
25 | - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 | - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 | - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 | - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
29 | - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30 | - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31 | - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32 | - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
33 | - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34 | - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35 | - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 | *====================================================================*/
--------------------------------------------------------------------------------
/licenses/PySimpleGUI_copyright:
--------------------------------------------------------------------------------
1 | PySimpleGUI
2 |
3 | Copyright: mike@PySimpleGUI.org "PySimpleGUI"
4 | Source: https://github.com/PySimpleGUI/PySimpleGUI
5 |
6 | GNU LESSER GENERAL PUBLIC LICENSE
7 | Version 3, 29 June 2007
8 |
9 | Copyright (C) 2007 Free Software Foundation, Inc.
10 | Everyone is permitted to copy and distribute verbatim copies
11 | of this license document, but changing it is not allowed.
12 |
13 |
14 | This version of the GNU Lesser General Public License incorporates
15 | the terms and conditions of version 3 of the GNU General Public
16 | License, supplemented by the additional permissions listed below.
17 |
18 | 0. Additional Definitions.
19 |
20 | As used herein, "this License" refers to version 3 of the GNU Lesser
21 | General Public License, and the "GNU GPL" refers to version 3 of the GNU
22 | General Public License.
23 |
24 | "The Library" refers to a covered work governed by this License,
25 | other than an Application or a Combined Work as defined below.
26 |
27 | An "Application" is any work that makes use of an interface provided
28 | by the Library, but which is not otherwise based on the Library.
29 | Defining a subclass of a class defined by the Library is deemed a mode
30 | of using an interface provided by the Library.
31 |
32 | A "Combined Work" is a work produced by combining or linking an
33 | Application with the Library. The particular version of the Library
34 | with which the Combined Work was made is also called the "Linked
35 | Version".
36 |
37 | The "Minimal Corresponding Source" for a Combined Work means the
38 | Corresponding Source for the Combined Work, excluding any source code
39 | for portions of the Combined Work that, considered in isolation, are
40 | based on the Application, and not on the Linked Version.
41 |
42 | The "Corresponding Application Code" for a Combined Work means the
43 | object code and/or source code for the Application, including any data
44 | and utility programs needed for reproducing the Combined Work from the
45 | Application, but excluding the System Libraries of the Combined Work.
46 |
47 | 1. Exception to Section 3 of the GNU GPL.
48 |
49 | You may convey a covered work under sections 3 and 4 of this License
50 | without being bound by section 3 of the GNU GPL.
51 |
52 | 2. Conveying Modified Versions.
53 |
54 | If you modify a copy of the Library, and, in your modifications, a
55 | facility refers to a function or data to be supplied by an Application
56 | that uses the facility (other than as an argument passed when the
57 | facility is invoked), then you may convey a copy of the modified
58 | version:
59 |
60 | a) under this License, provided that you make a good faith effort to
61 | ensure that, in the event an Application does not supply the
62 | function or data, the facility still operates, and performs
63 | whatever part of its purpose remains meaningful, or
64 |
65 | b) under the GNU GPL, with none of the additional permissions of
66 | this License applicable to that copy.
67 |
68 | 3. Object Code Incorporating Material from Library Header Files.
69 |
70 | The object code form of an Application may incorporate material from
71 | a header file that is part of the Library. You may convey such object
72 | code under terms of your choice, provided that, if the incorporated
73 | material is not limited to numerical parameters, data structure
74 | layouts and accessors, or small macros, inline functions and templates
75 | (ten or fewer lines in length), you do both of the following:
76 |
77 | a) Give prominent notice with each copy of the object code that the
78 | Library is used in it and that the Library and its use are
79 | covered by this License.
80 |
81 | b) Accompany the object code with a copy of the GNU GPL and this license
82 | document.
83 |
84 | 4. Combined Works.
85 |
86 | You may convey a Combined Work under terms of your choice that,
87 | taken together, effectively do not restrict modification of the
88 | portions of the Library contained in the Combined Work and reverse
89 | engineering for debugging such modifications, if you also do each of
90 | the following:
91 |
92 | a) Give prominent notice with each copy of the Combined Work that
93 | the Library is used in it and that the Library and its use are
94 | covered by this License.
95 |
96 | b) Accompany the Combined Work with a copy of the GNU GPL and this license
97 | document.
98 |
99 | c) For a Combined Work that displays copyright notices during
100 | execution, include the copyright notice for the Library among
101 | these notices, as well as a reference directing the user to the
102 | copies of the GNU GPL and this license document.
103 |
104 | d) Do one of the following:
105 |
106 | 0) Convey the Minimal Corresponding Source under the terms of this
107 | License, and the Corresponding Application Code in a form
108 | suitable for, and under terms that permit, the user to
109 | recombine or relink the Application with a modified version of
110 | the Linked Version to produce a modified Combined Work, in the
111 | manner specified by section 6 of the GNU GPL for conveying
112 | Corresponding Source.
113 |
114 | 1) Use a suitable shared library mechanism for linking with the
115 | Library. A suitable mechanism is one that (a) uses at run time
116 | a copy of the Library already present on the user's computer
117 | system, and (b) will operate properly with a modified version
118 | of the Library that is interface-compatible with the Linked
119 | Version.
120 |
121 | e) Provide Installation Information, but only if you would otherwise
122 | be required to provide such information under section 6 of the
123 | GNU GPL, and only to the extent that such information is
124 | necessary to install and execute a modified version of the
125 | Combined Work produced by recombining or relinking the
126 | Application with a modified version of the Linked Version. (If
127 | you use option 4d0, the Installation Information must accompany
128 | the Minimal Corresponding Source and Corresponding Application
129 | Code. If you use option 4d1, you must provide the Installation
130 | Information in the manner specified by section 6 of the GNU GPL
131 | for conveying Corresponding Source.)
132 |
133 | 5. Combined Libraries.
134 |
135 | You may place library facilities that are a work based on the
136 | Library side by side in a single library together with other library
137 | facilities that are not Applications and are not covered by this
138 | License, and convey such a combined library under terms of your
139 | choice, if you do both of the following:
140 |
141 | a) Accompany the combined library with a copy of the same work based
142 | on the Library, uncombined with any other library facilities,
143 | conveyed under the terms of this License.
144 |
145 | b) Give prominent notice with the combined library that part of it
146 | is a work based on the Library, and explaining where to find the
147 | accompanying uncombined form of the same work.
148 |
149 | 6. Revised Versions of the GNU Lesser General Public License.
150 |
151 | The Free Software Foundation may publish revised and/or new versions
152 | of the GNU Lesser General Public License from time to time. Such new
153 | versions will be similar in spirit to the present version, but may
154 | differ in detail to address new problems or concerns.
155 |
156 | Each version is given a distinguishing version number. If the
157 | Library as you received it specifies that a certain numbered version
158 | of the GNU Lesser General Public License "or any later version"
159 | applies to it, you have the option of following the terms and
160 | conditions either of that published version or of any later version
161 | published by the Free Software Foundation. If the Library as you
162 | received it does not specify a version number of the GNU Lesser
163 | General Public License, you may choose any version of the GNU Lesser
164 | General Public License ever published by the Free Software Foundation.
165 |
166 | If the Library as you received it specifies that a proxy can decide
167 | whether future versions of the GNU Lesser General Public License shall
168 | apply, that proxy's public statement of acceptance of any version is
169 | permanent authorization for you to choose that version for the
170 | Library.
171 |
--------------------------------------------------------------------------------
/licenses/darkdetect_copyright:
--------------------------------------------------------------------------------
1 | Copyright (c) 2019, Alberto Sottile
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions are met:
6 | * Redistributions of source code must retain the above copyright
7 | notice, this list of conditions and the following disclaimer.
8 | * Redistributions in binary form must reproduce the above copyright
9 | notice, this list of conditions and the following disclaimer in the
10 | documentation and/or other materials provided with the distribution.
11 | * Neither the name of "darkdetect" nor the
12 | names of its contributors may be used to endorse or promote products
13 | derived from this software without specific prior written permission.
14 |
15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 | DISCLAIMED. IN NO EVENT SHALL "Alberto Sottile" BE LIABLE FOR ANY
19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 |
--------------------------------------------------------------------------------
/licenses/fonts-arkpandora_copyright:
--------------------------------------------------------------------------------
1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Upstream-Name: arkpandora
3 | Source: http://web.archive.org/web/20090917205450/http://www.users.bigpond.net.au/gavindi/
4 |
5 | Files: *
6 | Copyright: Gavin Graham
7 | License: Bitstream-Vera-Copyright
8 |
9 | Files: debian/*
10 | Copyright: 2013, Vasudev Kamath
11 | 2013, Jonas Smedegaard
12 | License: GPL-3+
13 |
14 | License: Bitstream-Vera-Copyright
15 | Permission is hereby granted, free of charge, to any person obtaining
16 | a copy of the fonts accompanying this license ("Fonts") and associated
17 | documentation files (the "Font Software"), to reproduce and distribute
18 | the Font Software, including without limitation the rights to use,
19 | copy, merge, publish, distribute, and/or sell copies of the Font
20 | Software, and to permit persons to whom the Font Software is furnished
21 | to do so, subject to the following conditions:
22 | .
23 | The above copyright and trademark notices and this permission notice
24 | shall be included in all copies of one or more of the Font Software
25 | typefaces.
26 | .
27 | The Font Software may be modified, altered, or added to, and in
28 | particular the designs of glyphs or characters in the Fonts may be
29 | modified and additional glyphs or characters may be added to the
30 | Fonts, only if the fonts are renamed to names not containing either
31 | the words "Bitstream" or the word "Vera".
32 | .
33 | This License becomes null and void to the extent applicable to Fonts
34 | or Font Software that has been modified and is distributed under the
35 | "Bitstream Vera" names.
36 | .
37 | The Font Software may be sold as part of a larger software package but
38 | no copy of one or more of the Font Software typefaces may be sold by
39 | itself.
40 | .
41 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
43 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
44 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
45 | BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
46 | OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
47 | OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
48 | OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
49 | SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
50 | .
51 | Except as contained in this notice, the names of Gnome, the Gnome
52 | Foundation, and Bitstream Inc., shall not be used in advertising or
53 | otherwise to promote the sale, use or other dealings in this Font
54 | Software without prior written authorization from the Gnome Foundation
55 | or Bitstream Inc., respectively. For further information, contact:
56 | fonts at gnome dot org.
57 |
58 | License: GPL-3+
59 | This program is free software; you can redistribute it and/or modify
60 | it under the terms of the GNU General Public License as published by
61 | the Free Software Foundation; either version 3 of the License, or
62 | (at your option) any later version.
63 | .
64 | This program is distributed in the hope that it will be useful,
65 | but WITHOUT ANY WARRANTY; without even the implied warranty of
66 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
67 | GNU General Public License for more details.
68 | .
69 | Comment:
70 | .
71 | On Debian systems the 'GNU General Public License' version 3 is
72 | located in '/usr/share/common-licenses/GPL-3'.
73 | .
74 | You should have received a copy of the 'GNU General Public License'
75 | along with this program. If not, see .
76 |
77 |
--------------------------------------------------------------------------------
/licenses/fonts-croscore_copyright:
--------------------------------------------------------------------------------
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Upstream-Name: Noto
3 | Upstream-Contact: https://github.com/googlei18n/noto-fonts/issues
4 | http://groups.google.com/group/noto-font
5 | Source: https://github.com/googlei18n/noto-fonts
6 | git://github.com/googlei18n/noto-fonts
7 |
8 | Files: *
9 | Copyright: 2010,2012-2020, Google Inc.
10 | License-Grant:
11 | This Font Software is licensed under the SIL Open Font License,
12 | Version 1.1.
13 | License: OFL-1.1
14 |
15 | Files: debian/*
16 | Copyright:
17 | 2013, Vasudev Kamath
18 | 2013-2018, Jonas Smedegaard
19 | License-Grant:
20 | This program is free software;
21 | you can redistribute it and/or modify it
22 | under the terms of the GNU General Public License
23 | as published by the Free Software Foundation;
24 | either version 3, or (at your option) any later version.
25 | License: GPL-3+
26 |
27 | Files: debian/NotoMono/NotoMono-Regular.ttf
28 | Copyright: 2007, Google Inc.
29 | License-Grant:
30 | This Font Software is licensed under the SIL Open Font License,
31 | Version 1.1.
32 | License: OFL-1.1
33 |
34 | License: Apache-2.0
35 | License-Reference: /usr/share/common-licenses/Apache-2.0
36 |
37 | License: OFL-1.1
38 | PREAMBLE
39 | .
40 | The goals of the Open Font License (OFL) are to stimulate
41 | worldwide development of collaborative font projects,
42 | to support the font creation efforts
43 | of academic and linguistic communities,
44 | and to provide a free and open framework
45 | in which fonts may be shared and improved
46 | in partnership with others.
47 | .
48 | The OFL allows the licensed fonts to be used, studied,
49 | modified and redistributed freely
50 | as long as they are not sold by themselves.
51 | The fonts, including any derivative works,
52 | can be bundled, embedded,
53 | redistributed and/or sold with any software
54 | provided that any reserved names are not used
55 | by derivative works.
56 | The fonts and derivatives, however,
57 | cannot be released under any other type of license.
58 | The requirement for fonts to remain under this license
59 | does not apply to any document
60 | created using the fonts or their derivatives.
61 | .
62 | DEFINITIONS
63 | .
64 | "Font Software" refers to the set of files
65 | released by the Copyright Holder(s) under this license
66 | and clearly marked as such.
67 | This may include source files, build scripts and documentation.
68 | .
69 | "Reserved Font Name" refers to any names specified as such
70 | after the copyright statement(s).
71 | .
72 | "Original Version" refers to the collection
73 | of Font Software components
74 | as distributed by the Copyright Holder(s).
75 | .
76 | "Modified Version" refers to any derivative
77 | made by adding to, deleting, or substituting --
78 | in part or in whole --
79 | any of the components of the Original Version,
80 | by changing formats
81 | or by porting the Font Software to a new environment.
82 | .
83 | "Author" refers to any designer, engineer, programmer,
84 | technical writer or other person
85 | who contributed to the Font Software.
86 | .
87 | PERMISSION & CONDITIONS
88 | .
89 | Permission is hereby granted, free of charge,
90 | to any person obtaining a copy of the Font Software,
91 | to use, study, copy, merge, embed, modify, redistribute,
92 | and sell modified and unmodified copies of the Font Software,
93 | subject to the following conditions:
94 | .
95 | 1) Neither the Font Software nor any of its individual components,
96 | in Original or Modified Versions,
97 | may be sold by itself.
98 | .
99 | 2) Original or Modified Versions of the Font Software
100 | may be bundled, redistributed and/or sold with any software,
101 | provided that each copy contains the above copyright notice
102 | and this license.
103 | These can be included either as stand-alone text files,
104 | human-readable headers or in the appropriate
105 | machine-readable metadata fields within text or binary files
106 | as long as those fields can be easily viewed by the user.
107 | .
108 | 3) No Modified Version of the Font Software may use
109 | the Reserved Font Name(s)
110 | unless explicit written permission is granted
111 | by the corresponding Copyright Holder.
112 | This restriction only applies to the primary font name
113 | as presented to the users.
114 | .
115 | 4) The name(s) of the Copyright Holder(s)
116 | or the Author(s) of the Font Software
117 | shall not be used to promote,
118 | endorse or advertise any Modified Version,
119 | except to acknowledge the contribution(s)
120 | of the Copyright Holder(s) and the Author(s)
121 | or with their explicit written permission.
122 | .
123 | 5) The Font Software,
124 | modified or unmodified, in part or in whole,
125 | must be distributed entirely under this license,
126 | and must not be distributed under any other license.
127 | The requirement for fonts to remain under this license
128 | does not apply to any document
129 | created using the Font Software.
130 | .
131 | TERMINATION
132 | .
133 | This license becomes null and void
134 | if any of the above conditions are not met.
135 | .
136 | DISCLAIMER
137 | .
138 | THE FONT SOFTWARE IS PROVIDED "AS IS",
139 | WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
140 | INCLUDING BUT NOT LIMITED TO
141 | ANY WARRANTIES OF MERCHANTABILITY,
142 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
143 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT.
144 | IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE
145 | FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
146 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT,
147 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
148 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
149 | ARISING FROM, OUT OF THE USE OR INABILITY TO USE
150 | THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
151 |
152 | License: GPL-3+
153 | License-Reference: /usr/share/common-licenses/GPL-3
154 |
--------------------------------------------------------------------------------
/licenses/fonts-liberation2_copyright:
--------------------------------------------------------------------------------
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Upstream-Name: Liberation Fonts
3 | Source: https://github.com/liberationfonts
4 |
5 | Files: *
6 | Copyright:
7 | Digitized data copyright (c) 2010 Google Corporation with Reserved Font Arimo, Tinos and Cousine.
8 | Copyright (c) 2012 Red Hat, Inc. with Reserved Font Name Liberation.
9 | License: SIL-OFL-1.1
10 | This Font Software is licensed under the SIL Open Font License,
11 | Version 1.1.
12 | .
13 | This license is copied below, and is also available with a FAQ at:
14 | http://scripts.sil.org/OFL
15 | .
16 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
17 | .
18 | PREAMBLE The goals of the Open Font License (OFL) are to stimulate
19 | worldwide development of collaborative font projects, to support the font
20 | creation efforts of academic and linguistic communities, and to provide
21 | a free and open framework in which fonts may be shared and improved in
22 | partnership with others.
23 | .
24 | The OFL allows the licensed fonts to be used, studied, modified and
25 | redistributed freely as long as they are not sold by themselves.
26 | The fonts, including any derivative works, can be bundled, embedded,
27 | redistributed and/or sold with any software provided that any reserved
28 | names are not used by derivative works. The fonts and derivatives,
29 | however, cannot be released under any other type of license. The
30 | requirement for fonts to remain under this license does not apply to
31 | any document created using the fonts or their derivatives.
32 | .
33 | .
34 | .
35 | DEFINITIONS
36 | "Font Software" refers to the set of files released by the Copyright
37 | Holder(s) under this license and clearly marked as such.
38 | This may include source files, build scripts and documentation.
39 | .
40 | "Reserved Font Name" refers to any names specified as such after the
41 | copyright statement(s).
42 | .
43 | "Original Version" refers to the collection of Font Software components
44 | as distributed by the Copyright Holder(s).
45 | .
46 | "Modified Version" refers to any derivative made by adding to, deleting,
47 | or substituting ? in part or in whole ?
48 | any of the components of the Original Version, by changing formats or
49 | by porting the Font Software to a new environment.
50 | .
51 | "Author" refers to any designer, engineer, programmer, technical writer
52 | or other person who contributed to the Font Software.
53 | .
54 | .
55 | PERMISSION & CONDITIONS
56 | .
57 | Permission is hereby granted, free of charge, to any person obtaining a
58 | copy of the Font Software, to use, study, copy, merge, embed, modify,
59 | redistribute, and sell modified and unmodified copies of the Font
60 | Software, subject to the following conditions:
61 | .
62 | 1) Neither the Font Software nor any of its individual components,in
63 | Original or Modified Versions, may be sold by itself.
64 | .
65 | 2) Original or Modified Versions of the Font Software may be bundled,
66 | redistributed and/or sold with any software, provided that each copy
67 | contains the above copyright notice and this license. These can be
68 | included either as stand-alone text files, human-readable headers or
69 | in the appropriate machine-readable metadata fields within text or
70 | binary files as long as those fields can be easily viewed by the user.
71 | .
72 | 3) No Modified Version of the Font Software may use the Reserved Font
73 | Name(s) unless explicit written permission is granted by the
74 | corresponding Copyright Holder. This restriction only applies to the
75 | primary font name as presented to the users.
76 | .
77 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
78 | Software shall not be used to promote, endorse or advertise any
79 | Modified Version, except to acknowledge the contribution(s) of the
80 | Copyright Holder(s) and the Author(s) or with their explicit written
81 | permission.
82 | .
83 | 5) The Font Software, modified or unmodified, in part or in whole, must
84 | be distributed entirely under this license, and must not be distributed
85 | under any other license. The requirement for fonts to remain under
86 | this license does not apply to any document created using the Font
87 | Software.
88 | .
89 | .
90 | .
91 | TERMINATION
92 | This license becomes null and void if any of the above conditions are not met.
93 | .
94 | .
95 | .
96 | DISCLAIMER
97 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
98 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
99 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
100 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
101 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
102 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
103 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
104 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
105 | DEALINGS IN THE FONT SOFTWARE.
106 | .
107 |
108 | Files: debian/*
109 | Copyright:
110 | 2008 Alan Baghumian
111 | 2008-2018 Holger Levsen
112 | 2009-2012 Christian Perrier
113 | 2011-2018 Fabian Greffrath
114 | 2018 Rene Engelhard
115 | License: GPL-2+
116 | This package is free software; you can redistribute it and/or modify
117 | it under the terms of the GNU General Public License as published by
118 | the Free Software Foundation; either version 2 of the License, or
119 | (at your option) any later version.
120 | .
121 | This package is distributed in the hope that it will be useful,
122 | but WITHOUT ANY WARRANTY; without even the implied warranty of
123 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
124 | GNU General Public License for more details.
125 | .
126 | You should have received a copy of the GNU General Public License
127 | along with this program. If not, see
128 | .
129 | On Debian systems, the complete text of the GNU General
130 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
131 |
--------------------------------------------------------------------------------
/licenses/icc-profiles-free_copyright:
--------------------------------------------------------------------------------
1 | Format: http://dep.debian.net/deps/dep5
2 | Upstream-Name: ICC Profiles Free
3 | Source: http://debian.tagancha.org/icc-profiles/
4 |
5 | Files: FOGRA*ti3 TR00*ti3
6 | Copyright: Kai-Uwe Behrmann
7 | License: Zlib
8 |
9 | Files: LCMS* compat* Gray* Cine* ITUL* sRGB.icc
10 | Copyright: Kai-Uwe Behrmann
11 | Marti Maria
12 | Photogamut
13 | Graeme Gill
14 | ColorSolutions
15 | License: Zlib
16 |
17 | License: Zlib
18 | The zlib/libpng License
19 | .
20 | This software is provided 'as-is', without any express or implied
21 | warranty. In no event will the authors be held liable for any damages
22 | arising from the use of this software.
23 | .
24 | Permission is granted to anyone to use this software for any purpose,
25 | including commercial applications, and to alter it and redistribute it
26 | freely, subject to the following restrictions:
27 | .
28 | 1. The origin of this software must not be misrepresented; you must not
29 | claim that you wrote the original software. If you use this software
30 | in a product, an acknowledgment in the product documentation would be
31 | appreciated but is not required.
32 | .
33 | 2. Altered source versions must be plainly marked as such, and must not be
34 | misrepresented as being the original software.
35 | .
36 | 3. This notice may not be removed or altered from any source
37 | distribution.
38 | .
39 | NO WARRANTY
40 | .
41 | BECAUSE THE DATA IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
42 | FOR THE DATA, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
43 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
44 | PROVIDE THE DATA "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
45 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
46 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
47 | TO THE QUALITY AND PERFORMANCE OF THE DATA IS WITH YOU. SHOULD THE
48 | DATA PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
49 | REPAIR OR CORRECTION.
50 | .
51 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
52 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
53 | REDISTRIBUTE THE DATA AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
54 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
55 | OUT OF THE USE OR INABILITY TO USE THE DATA (INCLUDING BUT NOT LIMITED
56 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
57 | YOU OR THIRD PARTIES OR A FAILURE OF THE DATA TO OPERATE WITH ANY OTHER
58 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
59 | POSSIBILITY OF SUCH DAMAGES.
60 |
61 | Files: LStar-*
62 | Copyright: 2007, basICColor GmbH
63 | License: ZLIB-LSTAR
64 | The zlib/libpng License
65 | .
66 | This software is provided 'as-is', without any express or implied
67 | warranty. In no event will the authors be held liable for any damages
68 | arising from the use of this software.
69 | .
70 | Permission is granted to anyone to use this software for any purpose,
71 | including commercial applications, and to alter it and redistribute it
72 | freely, subject to the following restrictions:
73 | .
74 | 1. The origin of this software must not be misrepresented; you must not
75 | claim that you wrote the original software. If you use this software
76 | in a product, an acknowledgment in the product documentation would be
77 | appreciated but is not required.
78 | .
79 | 2. Altered source versions must be plainly marked as such, and must not be
80 | misrepresented as being the original software.
81 | .
82 | 3. This notice may not be removed or altered from any source distribution.
83 |
84 | Files: debian/*
85 | Copyright: 2005-2011 Oleksandr Moskalenko
86 | 2011 Till Kamppeter
87 | 2012 Bernhard Reiter
88 | License: GPL-2+
89 | This package was debianized by Oleksandr Moskalenko on
90 | Thu, 4 Aug 2005 17:40:43 -0600.
91 | .
92 | This package is free software; you can redistribute it and/or modify
93 | it under the terms of the GNU General Public License as published by
94 | the Free Software Foundation; either version 2 of the License, or
95 | (at your option) any later version.
96 | .
97 | This package is distributed in the hope that it will be useful,
98 | but WITHOUT ANY WARRANTY; without even the implied warranty of
99 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
100 | GNU General Public License for more details.
101 | .
102 | You should have received a copy of the GNU General Public License
103 | along with this program. If not, see
104 | .
105 | On Debian systems, the complete text of the GNU General
106 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
107 |
--------------------------------------------------------------------------------
/licenses/libxml2_copyright:
--------------------------------------------------------------------------------
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0
2 | Upstream-Name: libxml2
3 | Source: ftp://xmlsoft.org/libxml2/
4 | Files-Excluded:
5 | result
6 | test
7 | Comment:
8 | Bug about the removal of the above directories: https://bugs.debian.org/331534
9 |
10 | Files: *
11 | Copyright: 1998-2017 Daniel Veillard
12 | License: MIT-1
13 |
14 | Files: debian/*
15 | Copyright: 1998-1999 Vincent Renardias
16 | 1999-2000 Fredrik Hallenberg
17 | 2003-2011 Mike Hommey
18 | 2012-2016 Aron Xu
19 | 2017-2018 Mattia Rizzolo
20 | License: MIT-1
21 |
22 | Files: trio.c trio.h triop.h triostr.c triostr.h triodef.h trionan.c trionan.h
23 | Copyright: 1998-2001 Bjorn Reese
24 | 1998-2001 Daniel Stenberg
25 | License: ISC
26 |
27 | Files: hash.c
28 | Copyright: 2000 Bjorn Reese
29 | 2000 Daniel Veillard
30 | License: ISC
31 |
32 | Files: list.c
33 | Copyright: 2000 Gary Pennington
34 | 2000 Daniel Veillard
35 | License: ISC
36 |
37 | Files: timsort.h
38 | Copyright: 2010-2017 Christopher Swenson
39 | 2012 Vojtech Fried
40 | 2012 Google Inc.
41 | License: MIT-1
42 |
43 | License: MIT-1
44 | Permission is hereby granted, free of charge, to any person obtaining a copy
45 | of this software and associated documentation files (the "Software"), to deal
46 | in the Software without restriction, including without limitation the rights
47 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
48 | copies of the Software, and to permit persons to whom the Software is fur-
49 | nished to do so, subject to the following conditions:
50 | .
51 | The above copyright notice and this permission notice shall be included in
52 | all copies or substantial portions of the Software.
53 | .
54 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
55 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
56 | NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
57 | DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
58 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
59 | NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
60 | .
61 | Except as contained in this notice, the name of Daniel Veillard shall not
62 | be used in advertising or otherwise to promote the sale, use or other deal-
63 | ings in this Software without prior written authorization from him.
64 | Comment:
65 | No, this is not Expat.
66 |
67 | License: ISC
68 | Permission to use, copy, modify, and distribute this software for any
69 | purpose with or without fee is hereby granted, provided that the above
70 | copyright notice and this permission notice appear in all copies.
71 | .
72 | THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
73 | WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
74 | MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND
75 | CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER.
76 |
--------------------------------------------------------------------------------
/licenses/pdftotext_copyright:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 The Trustees of the Natural History Museum, London
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/licenses/pngquant_copyright:
--------------------------------------------------------------------------------
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Upstream-Contact: Kornel Lesiński
3 | Source: https://github.com/pornel/pngquant/releases
4 |
5 | Files: *
6 | Copyright: © 1997-2002 Greg Roelofs
7 | © 1989-1991 Jef Poskanzer
8 | © 2009-2016 Kornel Lesiński
9 | License: BSD-2-clause
10 |
11 | License: BSD-2-clause
12 | Permission to use, copy, modify, and distribute this software and its
13 | documentation for any purpose and without fee is hereby granted, provided
14 | that the above copyright notice appear in all copies and that both that
15 | copyright notice and this permission notice appear in supporting
16 | documentation. This software is provided "as is" without express or
17 | implied warranty.
18 | .
19 | On Debian systems, the BSD license can be found at /usr/share/common-licenses/
20 |
21 | Files: rwpng.*
22 | Copyright: © 1998-2002 Greg Roelofs
23 | License: BSD-3-clause
24 | This software is provided "as is," without warranty of any kind,
25 | express or implied. In no event shall the author or contributors
26 | be held liable for any damages arising in any way from the use of
27 | this software.
28 | .
29 | Permission is granted to anyone to use this software for any purpose,
30 | including commercial applications, and to alter it and redistribute
31 | it freely, subject to the following restrictions:
32 | -
33 | 1. Redistributions of source code must retain the above copyright
34 | notice, disclaimer, and this list of conditions.
35 | 2. Redistributions in binary form must reproduce the above copyright
36 | notice, disclaimer, and this list of conditions in the documenta-
37 | tion and/or other materials provided with the distribution.
38 | 3. All advertising materials mentioning features or use of this
39 | software must display the following acknowledgment:
40 | .
41 | This product includes software developed by Greg Roelofs
42 | and contributors for the book, "PNG: The Definitive Guide,"
43 | published by O'Reilly and Associates.
44 |
45 | Files: debian/*
46 | Copyright: © 2005-2008 Nelson A. de Oliveira
47 | © 2013-2017 Andreas Tille
48 | License: BSD-2-clause
49 |
--------------------------------------------------------------------------------
/licenses/python3_copyright:
--------------------------------------------------------------------------------
1 | This is the Debian GNU/Linux prepackaged version of the Python programming
2 | language. Python was written by Guido van Rossum and others.
3 |
4 | This package was put together by Klee Dienes from
5 | sources from ftp.python.org:/pub/python, based on the Debianization by
6 | the previous maintainers Bernd S. Brentrup and
7 | Bruce Perens.
8 |
9 | Current maintainer is Matthias Klose until the final
10 | 2.3 version is released.
11 |
12 |
13 | Copyright notice (as found in LICENSE in the original source).
14 | --------------------------------------------------------------
15 |
16 | A. HISTORY OF THE SOFTWARE
17 | ==========================
18 |
19 | Python was created in the early 1990s by Guido van Rossum at Stichting
20 | Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
21 | as a successor of a language called ABC. Guido remains Python's
22 | principal author, although it includes many contributions from others.
23 |
24 | In 1995, Guido continued his work on Python at the Corporation for
25 | National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
26 | in Reston, Virginia where he released several versions of the
27 | software.
28 |
29 | In May 2000, Guido and the Python core development team moved to
30 | BeOpen.com to form the BeOpen PythonLabs team. In October of the same
31 | year, the PythonLabs team moved to Digital Creations (now Zope
32 | Corporation, see http://www.zope.com). In 2001, the Python Software
33 | Foundation (PSF, see http://www.python.org/psf/) was formed, a
34 | non-profit organization created specifically to own Python-related
35 | Intellectual Property. Zope Corporation is a sponsoring member of
36 | the PSF.
37 |
38 | All Python releases are Open Source (see http://www.opensource.org for
39 | the Open Source Definition). Historically, most, but not all, Python
40 | releases have also been GPL-compatible; the table below summarizes
41 | the various releases.
42 |
43 | Release Derived Year Owner GPL-
44 | from compatible? (1)
45 |
46 | 0.9.0 thru 1.2 1991-1995 CWI yes
47 | 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes
48 | 1.6 1.5.2 2000 CNRI no
49 | 2.0 1.6 2000 BeOpen.com no
50 | 1.6.1 1.6 2001 CNRI yes (2)
51 | 2.1 2.0+1.6.1 2001 PSF no
52 | 2.0.1 2.0+1.6.1 2001 PSF yes
53 | 2.1.1 2.1+2.0.1 2001 PSF yes
54 | 2.2 2.1.1 2001 PSF yes
55 | 2.1.2 2.1.1 2002 PSF yes
56 | 2.1.3 2.1.2 2002 PSF yes
57 | 2.2.1 2.2 2002 PSF yes
58 | 2.2.2 2.2.1 2002 PSF yes
59 | 2.2.3 2.2.2 2003 PSF yes
60 | 2.3 2.2.2 2002-2003 PSF yes
61 | 2.3.1 2.3 2002-2003 PSF yes
62 | 2.3.2 2.3.1 2002-2003 PSF yes
63 | 2.3.3 2.3.2 2002-2003 PSF yes
64 | 2.3.4 2.3.3 2004 PSF yes
65 | 2.3.5 2.3.4 2005 PSF yes
66 | 2.4 2.3 2004 PSF yes
67 | 2.4.1 2.4 2005 PSF yes
68 | 2.4.2 2.4.1 2005 PSF yes
69 | 2.4.3 2.4.2 2006 PSF yes
70 | 2.4.4 2.4.3 2006 PSF yes
71 | 2.5 2.4 2006 PSF yes
72 | 2.5.1 2.5 2007 PSF yes
73 | 2.5.2 2.5.1 2008 PSF yes
74 | 2.5.3 2.5.2 2008 PSF yes
75 | 2.6 2.5 2008 PSF yes
76 | 2.6.1 2.6 2008 PSF yes
77 | 2.6.2 2.6.1 2009 PSF yes
78 | 2.6.3 2.6.2 2009 PSF yes
79 | 2.6.4 2.6.3 2009 PSF yes
80 | 3.0 2.6 2008 PSF yes
81 | 3.0.1 3.0 2009 PSF yes
82 | 3.1 3.0.1 2009 PSF yes
83 | 3.1.1 3.1 2009 PSF yes
84 |
85 | Footnotes:
86 |
87 | (1) GPL-compatible doesn't mean that we're distributing Python under
88 | the GPL. All Python licenses, unlike the GPL, let you distribute
89 | a modified version without making your changes open source. The
90 | GPL-compatible licenses make it possible to combine Python with
91 | other software that is released under the GPL; the others don't.
92 |
93 | (2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
94 | because its license has a choice of law clause. According to
95 | CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
96 | is "not incompatible" with the GPL.
97 |
98 | Thanks to the many outside volunteers who have worked under Guido's
99 | direction to make these releases possible.
100 |
101 |
102 | B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
103 | ===============================================================
104 |
105 | PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
106 | --------------------------------------------
107 |
108 | 1. This LICENSE AGREEMENT is between the Python Software Foundation
109 | ("PSF"), and the Individual or Organization ("Licensee") accessing and
110 | otherwise using this software ("Python") in source or binary form and
111 | its associated documentation.
112 |
113 | 2. Subject to the terms and conditions of this License Agreement, PSF hereby
114 | grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
115 | analyze, test, perform and/or display publicly, prepare derivative works,
116 | distribute, and otherwise use Python alone or in any derivative version,
117 | provided, however, that PSF's License Agreement and PSF's notice of copyright,
118 | i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
119 | Python Software Foundation; All Rights Reserved" are retained in Python alone or
120 | in any derivative version prepared by Licensee.
121 |
122 | 3. In the event Licensee prepares a derivative work that is based on
123 | or incorporates Python or any part thereof, and wants to make
124 | the derivative work available to others as provided herein, then
125 | Licensee hereby agrees to include in any such work a brief summary of
126 | the changes made to Python.
127 |
128 | 4. PSF is making Python available to Licensee on an "AS IS"
129 | basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
130 | IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
131 | DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
132 | FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
133 | INFRINGE ANY THIRD PARTY RIGHTS.
134 |
135 | 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
136 | FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
137 | A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
138 | OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
139 |
140 | 6. This License Agreement will automatically terminate upon a material
141 | breach of its terms and conditions.
142 |
143 | 7. Nothing in this License Agreement shall be deemed to create any
144 | relationship of agency, partnership, or joint venture between PSF and
145 | Licensee. This License Agreement does not grant permission to use PSF
146 | trademarks or trade name in a trademark sense to endorse or promote
147 | products or services of Licensee, or any third party.
148 |
149 | 8. By copying, installing or otherwise using Python, Licensee
150 | agrees to be bound by the terms and conditions of this License
151 | Agreement.
152 |
153 |
154 | BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
155 | -------------------------------------------
156 |
157 | BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
158 |
159 | 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
160 | office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
161 | Individual or Organization ("Licensee") accessing and otherwise using
162 | this software in source or binary form and its associated
163 | documentation ("the Software").
164 |
165 | 2. Subject to the terms and conditions of this BeOpen Python License
166 | Agreement, BeOpen hereby grants Licensee a non-exclusive,
167 | royalty-free, world-wide license to reproduce, analyze, test, perform
168 | and/or display publicly, prepare derivative works, distribute, and
169 | otherwise use the Software alone or in any derivative version,
170 | provided, however, that the BeOpen Python License is retained in the
171 | Software, alone or in any derivative version prepared by Licensee.
172 |
173 | 3. BeOpen is making the Software available to Licensee on an "AS IS"
174 | basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
175 | IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
176 | DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
177 | FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
178 | INFRINGE ANY THIRD PARTY RIGHTS.
179 |
180 | 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
181 | SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
182 | AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
183 | DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
184 |
185 | 5. This License Agreement will automatically terminate upon a material
186 | breach of its terms and conditions.
187 |
188 | 6. This License Agreement shall be governed by and interpreted in all
189 | respects by the law of the State of California, excluding conflict of
190 | law provisions. Nothing in this License Agreement shall be deemed to
191 | create any relationship of agency, partnership, or joint venture
192 | between BeOpen and Licensee. This License Agreement does not grant
193 | permission to use BeOpen trademarks or trade names in a trademark
194 | sense to endorse or promote products or services of Licensee, or any
195 | third party. As an exception, the "BeOpen Python" logos available at
196 | http://www.pythonlabs.com/logos.html may be used according to the
197 | permissions granted on that web page.
198 |
199 | 7. By copying, installing or otherwise using the software, Licensee
200 | agrees to be bound by the terms and conditions of this License
201 | Agreement.
202 |
203 |
204 | CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
205 | ---------------------------------------
206 |
207 | 1. This LICENSE AGREEMENT is between the Corporation for National
208 | Research Initiatives, having an office at 1895 Preston White Drive,
209 | Reston, VA 20191 ("CNRI"), and the Individual or Organization
210 | ("Licensee") accessing and otherwise using Python 1.6.1 software in
211 | source or binary form and its associated documentation.
212 |
213 | 2. Subject to the terms and conditions of this License Agreement, CNRI
214 | hereby grants Licensee a nonexclusive, royalty-free, world-wide
215 | license to reproduce, analyze, test, perform and/or display publicly,
216 | prepare derivative works, distribute, and otherwise use Python 1.6.1
217 | alone or in any derivative version, provided, however, that CNRI's
218 | License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
219 | 1995-2001 Corporation for National Research Initiatives; All Rights
220 | Reserved" are retained in Python 1.6.1 alone or in any derivative
221 | version prepared by Licensee. Alternately, in lieu of CNRI's License
222 | Agreement, Licensee may substitute the following text (omitting the
223 | quotes): "Python 1.6.1 is made available subject to the terms and
224 | conditions in CNRI's License Agreement. This Agreement together with
225 | Python 1.6.1 may be located on the Internet using the following
226 | unique, persistent identifier (known as a handle): 1895.22/1013. This
227 | Agreement may also be obtained from a proxy server on the Internet
228 | using the following URL: http://hdl.handle.net/1895.22/1013".
229 |
230 | 3. In the event Licensee prepares a derivative work that is based on
231 | or incorporates Python 1.6.1 or any part thereof, and wants to make
232 | the derivative work available to others as provided herein, then
233 | Licensee hereby agrees to include in any such work a brief summary of
234 | the changes made to Python 1.6.1.
235 |
236 | 4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
237 | basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
238 | IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
239 | DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
240 | FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
241 | INFRINGE ANY THIRD PARTY RIGHTS.
242 |
243 | 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
244 | 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
245 | A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
246 | OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
247 |
248 | 6. This License Agreement will automatically terminate upon a material
249 | breach of its terms and conditions.
250 |
251 | 7. This License Agreement shall be governed by the federal
252 | intellectual property law of the United States, including without
253 | limitation the federal copyright law, and, to the extent such
254 | U.S. federal law does not apply, by the law of the Commonwealth of
255 | Virginia, excluding Virginia's conflict of law provisions.
256 | Notwithstanding the foregoing, with regard to derivative works based
257 | on Python 1.6.1 that incorporate non-separable material that was
258 | previously distributed under the GNU General Public License (GPL), the
259 | law of the Commonwealth of Virginia shall govern this License
260 | Agreement only as to issues arising under or with respect to
261 | Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
262 | License Agreement shall be deemed to create any relationship of
263 | agency, partnership, or joint venture between CNRI and Licensee. This
264 | License Agreement does not grant permission to use CNRI trademarks or
265 | trade name in a trademark sense to endorse or promote products or
266 | services of Licensee, or any third party.
267 |
268 | 8. By clicking on the "ACCEPT" button where indicated, or by copying,
269 | installing or otherwise using Python 1.6.1, Licensee agrees to be
270 | bound by the terms and conditions of this License Agreement.
271 |
272 | ACCEPT
273 |
274 |
275 | CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
276 | --------------------------------------------------
277 |
278 | Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
279 | The Netherlands. All rights reserved.
280 |
281 | Permission to use, copy, modify, and distribute this software and its
282 | documentation for any purpose and without fee is hereby granted,
283 | provided that the above copyright notice appear in all copies and that
284 | both that copyright notice and this permission notice appear in
285 | supporting documentation, and that the name of Stichting Mathematisch
286 | Centrum or CWI not be used in advertising or publicity pertaining to
287 | distribution of the software without specific, written prior
288 | permission.
289 |
290 | STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
291 | THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
292 | FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
293 | FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
294 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
295 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
296 | OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
297 |
298 |
299 | py3compile, py3clean and debpython module:
300 | ==========================================
301 | Copyright © 2010-2013 Piotr Ożarowski
302 |
303 | Permission is hereby granted, free of charge, to any person obtaining a copy
304 | of this software and associated documentation files (the "Software"), to deal
305 | in the Software without restriction, including without limitation the rights
306 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
307 | copies of the Software, and to permit persons to whom the Software is
308 | furnished to do so, subject to the following conditions:
309 |
310 | The above copyright notice and this permission notice shall be included in
311 | all copies or substantial portions of the Software.
312 |
313 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
314 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
315 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
316 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
317 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
318 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
319 | THE SOFTWARE.
320 |
--------------------------------------------------------------------------------
/licenses/pyzbar_copyright:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 The Trustees of the Natural History Museum, London
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/licenses/qpdf_copyright:
--------------------------------------------------------------------------------
1 | This package was debianized by Jay Berkenbilt on
2 | April 26, 2008.
3 |
4 | It can be downloaded from https://github.com/qpdf/qpdf/releases
5 |
6 | Upstream Maintainers:
7 | Jay Berkenbilt
8 |
9 | For these files, which are no longer built in the debian package:
10 |
11 | libqpdf/sph/sph_sha2.h
12 | libqpdf/sph/sph_types.h
13 | libqpdf/sph/md_helper.c
14 | libqpdf/sha2big.c
15 | libqpdf/sha2.c
16 |
17 | the following copyright applies:
18 |
19 | ----------------------------------------------------------------------
20 | Copyright (c) 2007-2010 Projet RNRT SAPHIR
21 |
22 | Permission is hereby granted, free of charge, to any person obtaining
23 | a copy of this software and associated documentation files (the
24 | "Software"), to deal in the Software without restriction, including
25 | without limitation the rights to use, copy, modify, merge, publish,
26 | distribute, sublicense, and/or sell copies of the Software, and to
27 | permit persons to whom the Software is furnished to do so, subject to
28 | the following conditions:
29 |
30 | The above copyright notice and this permission notice shall be
31 | included in all copies or substantial portions of the Software.
32 |
33 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
35 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
36 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
37 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
38 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
39 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40 | ----------------------------------------------------------------------
41 |
42 | For the file libqpdf/MD5_native.cc, which is no longer built in the
43 | debian package, the following copyright applies:
44 |
45 | ----------------------------------------------------------------------
46 | Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
47 | rights reserved.
48 |
49 | License to copy and use this software is granted provided that it
50 | is identified as the "RSA Data Security, Inc. MD5 Message-Digest
51 | Algorithm" in all material mentioning or referencing this software
52 | or this function.
53 |
54 | License is also granted to make and use derivative works provided
55 | that such works are identified as "derived from the RSA Data
56 | Security, Inc. MD5 Message-Digest Algorithm" in all material
57 | mentioning or referencing the derived work.
58 |
59 | RSA Data Security, Inc. makes no representations concerning either
60 | the merchantability of this software or the suitability of this
61 | software for any particular purpose. It is provided "as is"
62 | without express or implied warranty of any kind.
63 |
64 | These notices must be retained in any copies of any part of this
65 | documentation and/or software.
66 | ----------------------------------------------------------------------
67 |
68 | QPDF embeds a copy of qtest (http://qtest.qbilt.org), which has the
69 | same author as qpdf. qtest has the following copyright:
70 |
71 | Copyright 1993-2007, Jay Berkenbilt
72 |
73 | QTest is distributed under the terms of version 2.0 of the Artistic
74 | license, which may be found at
75 | https://opensource.org/licenses/Artistic-2.0 and which also appears
76 | below.
77 |
78 | ----------------------------------------------------------------------
79 |
80 | For everything else, the following copyright applies:
81 |
82 | Copyright (C) 2005-2017 Jay Berkenbilt
83 |
84 | Licensed under the Apache License, Version 2.0 (the "License");
85 | you may not use this file except in compliance with the License.
86 | You may obtain a copy of the License at
87 |
88 | http://www.apache.org/licenses/LICENSE-2.0
89 |
90 | Unless required by applicable law or agreed to in writing, software
91 | distributed under the License is distributed on an "AS IS" BASIS,
92 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
93 | See the License for the specific language governing permissions and
94 | limitations under the License.
95 |
96 | Versions of qpdf prior to version 7 were released under the terms of
97 | version 2.0 of the Artistic License. At your option, you may continue
98 | to consider qpdf to be licensed under those terms. The text of the
99 | Artistic License version 2.0 is included below.
100 |
101 | For the text of the Apache license version 2.0, see
102 | /usr/share/common-licenses/Apache-2.0
103 |
104 | ----------------------------------------------------------------------
105 |
106 | Artistic License 2.0
107 |
108 | Copyright (c) 2000-2006, The Perl Foundation.
109 |
110 | Everyone is permitted to copy and distribute verbatim copies of this
111 | license document, but changing it is not allowed.
112 |
113 | Preamble
114 |
115 | This license establishes the terms under which a given free software
116 | Package may be copied, modified, distributed, and/or
117 | redistributed. The intent is that the Copyright Holder maintains some
118 | artistic control over the development of that Package while still
119 | keeping the Package available as open source and free software.
120 |
121 | You are always permitted to make arrangements wholly outside of this
122 | license directly with the Copyright Holder of a given Package. If the
123 | terms of this license do not permit the full use that you propose to
124 | make of the Package, you should contact the Copyright Holder and seek
125 | a different licensing arrangement.
126 |
127 | Definitions
128 |
129 | "Copyright Holder" means the individual(s) or organization(s) named
130 | in the copyright notice for the entire Package.
131 |
132 | "Contributor" means any party that has contributed code or other
133 | material to the Package, in accordance with the Copyright Holder's
134 | procedures.
135 |
136 | "You" and "your" means any person who would like to copy,
137 | distribute, or modify the Package.
138 |
139 | "Package" means the collection of files distributed by the
140 | Copyright Holder, and derivatives of that collection and/or of
141 | those files. A given Package may consist of either the Standard
142 | Version, or a Modified Version.
143 |
144 | "Distribute" means providing a copy of the Package or making it
145 | accessible to anyone else, or in the case of a company or
146 | organization, to others outside of your company or organization.
147 |
148 | "Distributor Fee" means any fee that you charge for Distributing
149 | this Package or providing support for this Package to another
150 | party. It does not mean licensing fees.
151 |
152 | "Standard Version" refers to the Package if it has not been
153 | modified, or has been modified only in ways explicitly requested by
154 | the Copyright Holder.
155 |
156 | "Modified Version" means the Package, if it has been changed, and
157 | such changes were not explicitly requested by the Copyright Holder.
158 |
159 | "Original License" means this Artistic License as Distributed with
160 | the Standard Version of the Package, in its current version or as
161 | it may be modified by The Perl Foundation in the future.
162 |
163 | "Source" form means the source code, documentation source, and
164 | configuration files for the Package.
165 |
166 | "Compiled" form means the compiled bytecode, object code, binary,
167 | or any other form resulting from mechanical transformation or
168 | translation of the Source form.
169 |
170 | Permission for Use and Modification Without Distribution
171 |
172 | (1) You are permitted to use the Standard Version and create and use
173 | Modified Versions for any purpose without restriction, provided that
174 | you do not Distribute the Modified Version.
175 |
176 | Permissions for Redistribution of the Standard Version
177 |
178 | (2) You may Distribute verbatim copies of the Source form of the
179 | Standard Version of this Package in any medium without restriction,
180 | either gratis or for a Distributor Fee, provided that you duplicate
181 | all of the original copyright notices and associated disclaimers. At
182 | your discretion, such verbatim copies may or may not include a
183 | Compiled form of the Package.
184 |
185 | (3) You may apply any bug fixes, portability changes, and other
186 | modifications made available from the Copyright Holder. The resulting
187 | Package will still be considered the Standard Version, and as such
188 | will be subject to the Original License.
189 |
190 | Distribution of Modified Versions of the Package as Source
191 |
192 | (4) You may Distribute your Modified Version as Source (either gratis
193 | or for a Distributor Fee, and with or without a Compiled form of the
194 | Modified Version) provided that you clearly document how it differs
195 | from the Standard Version, including, but not limited to, documenting
196 | any non-standard features, executables, or modules, and provided that
197 | you do at least ONE of the following:
198 |
199 | (a) make the Modified Version available to the Copyright Holder of
200 | the Standard Version, under the Original License, so that the
201 | Copyright Holder may include your modifications in the Standard
202 | Version.
203 |
204 | (b) ensure that installation of your Modified Version does not
205 | prevent the user installing or running the Standard Version. In
206 | addition, the Modified Version must bear a name that is different
207 | from the name of the Standard Version.
208 |
209 | (c) allow anyone who receives a copy of the Modified Version to
210 | make the Source form of the Modified Version available to others
211 | under
212 |
213 | (i) the Original License or
214 |
215 | (ii) a license that permits the licensee to freely copy, modify
216 | and redistribute the Modified Version using the same licensing
217 | terms that apply to the copy that the licensee received, and
218 | requires that the Source form of the Modified Version, and of
219 | any works derived from it, be made freely available in that
220 | license fees are prohibited but Distributor Fees are allowed.
221 | Distribution of Compiled Forms of the Standard Version or
222 | Modified Versions without the Source
223 |
224 | (5) You may Distribute Compiled forms of the Standard Version without
225 | the Source, provided that you include complete instructions on how to
226 | get the Source of the Standard Version. Such instructions must be
227 | valid at the time of your distribution. If these instructions, at any
228 | time while you are carrying out such distribution, become invalid, you
229 | must provide new instructions on demand or cease further
230 | distribution. If you provide valid instructions or cease distribution
231 | within thirty days after you become aware that the instructions are
232 | invalid, then you do not forfeit any of your rights under this
233 | license.
234 |
235 | (6) You may Distribute a Modified Version in Compiled form without the
236 | Source, provided that you comply with Section 4 with respect to the
237 | Source of the Modified Version.
238 |
239 | Aggregating or Linking the Package
240 |
241 | (7) You may aggregate the Package (either the Standard Version or
242 | Modified Version) with other packages and Distribute the resulting
243 | aggregation provided that you do not charge a licensing fee for the
244 | Package. Distributor Fees are permitted, and licensing fees for other
245 | components in the aggregation are permitted. The terms of this license
246 | apply to the use and Distribution of the Standard or Modified Versions
247 | as included in the aggregation.
248 |
249 | (8) You are permitted to link Modified and Standard Versions with
250 | other works, to embed the Package in a larger work of your own, or to
251 | build stand-alone binary or bytecode versions of applications that
252 | include the Package, and Distribute the result without restriction,
253 | provided the result does not expose a direct interface to the Package.
254 |
255 | Items That are Not Considered Part of a Modified Version
256 |
257 | (9) Works (including, but not limited to, modules and scripts) that
258 | merely extend or make use of the Package, do not, by themselves, cause
259 | the Package to be a Modified Version. In addition, such works are not
260 | considered parts of the Package itself, and are not subject to the
261 | terms of this license.
262 |
263 | General Provisions
264 |
265 | (10) Any use, modification, and distribution of the Standard or
266 | Modified Versions is governed by this Artistic License. By using,
267 | modifying or distributing the Package, you accept this license. Do not
268 | use, modify, or distribute the Package, if you do not accept this
269 | license.
270 |
271 | (11) If your Modified Version has been derived from a Modified Version
272 | made by someone other than you, you are nevertheless required to
273 | ensure that your Modified Version complies with the requirements of
274 | this license.
275 |
276 | (12) This license does not grant you the right to use any trademark,
277 | service mark, tradename, or logo of the Copyright Holder.
278 |
279 | (13) This license includes the non-exclusive, worldwide,
280 | free-of-charge patent license to make, have made, use, offer to sell,
281 | sell, import and otherwise transfer the Package with respect to any
282 | patent claims licensable by the Copyright Holder that are necessarily
283 | infringed by the Package. If you institute patent litigation
284 | (including a cross-claim or counterclaim) against any party alleging
285 | that the Package constitutes direct or contributory patent
286 | infringement, then this Artistic License to you shall terminate on the
287 | date that such litigation is filed.
288 |
289 | (14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT
290 | HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED
291 | WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
292 | PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT
293 | PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT
294 | HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT,
295 | INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE
296 | OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
297 |
--------------------------------------------------------------------------------
/licenses/tesseract_copyright:
--------------------------------------------------------------------------------
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Upstream-Name: tesseract-ocr
3 | Upstream-Contact: Ray Smith
4 | Source: https://github.com/tesseract-ocr/
5 |
6 | Files: *
7 | Copyright: 1988-1995 Hewlett Packard Company.
8 | 2006-2018 Google Inc.
9 | License: Apache-2.0
10 |
11 | Files: debian/*
12 | Copyright: 2007-2009 Jeffrey Ratcliffe
13 | 2010-2018 Jeff Breidenbach
14 | 2010-2018 Alexander Pozdnyakov
15 | License: Apache-2.0
16 |
17 | License: Apache-2.0
18 | Licensed under the Apache License, Version 2.0 (the "License");
19 | you may not use this file except in compliance with the License.
20 | You may obtain a copy of the license at
21 | .
22 | http://www.apache.org/licenses/LICENSE-2.0
23 | .
24 | Unless required by applicable law or agreed to in writing, software
25 | distributed under the License is distributed on an "AS IS" BASIS,
26 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27 | See the License for the specific language governing permissions and
28 | limitations under the License.
29 | .
30 | On Debian systems, the complete text of the Apache 2.0 license can be
31 | found in the file
32 | `/usr/share/common-licenses/Apache-2.0`.
33 |
--------------------------------------------------------------------------------
/licenses/tesseract_languages:
--------------------------------------------------------------------------------
1 | Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Upstream-Name: tessdata_fast
3 | Upstream-Contact: Ray Smith
4 | Source: https://github.com/tesseract-ocr/tessdata_fast/
5 |
6 | Files: *
7 | Copyright: 1988-1995 Hewlett Packard Company.
8 | 2006-2018 Google Inc.
9 | License: Apache-2.0
10 |
11 | Files: debian/*
12 | Copyright: 2007-2009 Jeffrey Ratcliffe
13 | 2017-2018 Jeff Breidenbach
14 | 2017-2018 Alexander Pozdnyakov
15 | License: Apache-2.0
16 |
17 | License: Apache-2.0
18 | Licensed under the Apache License, Version 2.0 (the "License");
19 | you may not use this file except in compliance with the License.
20 | You may obtain a copy of the license at
21 | .
22 | http://www.apache.org/licenses/LICENSE-2.0
23 | .
24 | Unless required by applicable law or agreed to in writing, software
25 | distributed under the License is distributed on an "AS IS" BASIS,
26 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27 | See the License for the specific language governing permissions and
28 | limitations under the License.
29 | .
30 | On Debian systems, the complete text of the Apache 2.0 license can be
31 | found in the file
32 | `/usr/share/common-licenses/Apache-2.0`.
33 |
--------------------------------------------------------------------------------
/licenses/zbar-library_copyright:
--------------------------------------------------------------------------------
1 | GNU LESSER GENERAL PUBLIC LICENSE
2 |
3 | Version 2.1, February 1999
4 |
5 | Copyright (C) 1991, 1999 Free Software Foundation, Inc.
6 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
7 | Everyone is permitted to copy and distribute verbatim copies
8 | of this license document, but changing it is not allowed.
9 |
10 | [This is the first released version of the Lesser GPL. It also counts
11 | as the successor of the GNU Library Public License, version 2, hence
12 | the version number 2.1.]
13 |
14 | Preamble
15 |
16 | The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
17 |
18 | This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.
19 |
20 | When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
21 |
22 | To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.
23 |
24 | For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
25 |
26 | We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.
27 |
28 | To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.
29 |
30 | Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.
31 |
32 | Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.
33 |
34 | When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.
35 |
36 | We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.
37 |
38 | For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.
39 |
40 | In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.
41 |
42 | Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.
43 |
44 | The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
45 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
46 |
47 | 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
48 |
49 | A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
50 |
51 | The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
52 |
53 | "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
54 |
55 | Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
56 |
57 | 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
58 |
59 | You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
60 |
61 | 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
62 |
63 | a) The modified work must itself be a software library.
64 | b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
65 | c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
66 | d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
67 |
68 | (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
69 |
70 | These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
71 |
72 | Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
73 |
74 | In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
75 |
76 | 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
77 |
78 | Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
79 |
80 | This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
81 |
82 | 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
83 |
84 | If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
85 |
86 | 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
87 |
88 | However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
89 |
90 | When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
91 |
92 | If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
93 |
94 | Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
95 |
96 | 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
97 |
98 | You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
99 |
100 | a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
101 | b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
102 | c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
103 | d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
104 | e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
105 |
106 | For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
107 |
108 | It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
109 |
110 | 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
111 |
112 | a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
113 | b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
114 |
115 | 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
116 |
117 | 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
118 |
119 | 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
120 |
121 | 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
122 |
123 | If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
124 |
125 | It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
126 |
127 | This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
128 |
129 | 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
130 |
131 | 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
132 |
133 | Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
134 |
135 | 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
136 |
137 | NO WARRANTY
138 |
139 | 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
140 |
141 | 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
142 |
--------------------------------------------------------------------------------
/licenses/zlib1g_copyright:
--------------------------------------------------------------------------------
1 | Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
2 | Upstream-Name: zlib
3 | Upstream-Contact: zlib@gzip.org
4 | Source: http://zlib.net/
5 | Comment: This is the pre-packaged Debian Linux version of the zlib compression
6 | library. It was packaged by Michael Alan Dorman
7 | from sources originally retrieved from ftp.uu.net in the directory
8 | /pub/archiving/zip/zlib as the file zlib-1.0.4.tar.gz.
9 | .
10 | The deflate format used by zlib was defined by Phil Katz. The deflate
11 | and zlib specifications were written by Peter Deutsch. Thanks to all the
12 | people who reported problems and suggested various improvements in zlib;
13 | they are too numerous to cite here.
14 | Files-Excluded:
15 | contrib/ada
16 | contrib/amd64
17 | contrib/asm686
18 | contrib/blast
19 | contrib/delphi
20 | contrib/dotzlib
21 | contrib/gcc_gvmat64
22 | contrib/infback9
23 | contrib/inflate86
24 | contrib/iostream
25 | contrib/iostream2
26 | contrib/iostream3
27 | contrib/masmx64
28 | contrib/masmx86
29 | contrib/pascal
30 | contrib/puff
31 | contrib/testzlib
32 | contrib/untgz
33 | contrib/vstudio
34 | doc/rfc1950.txt
35 | doc/rfc1951.txt
36 | doc/rfc1952.txt
37 |
38 | Files: *
39 | Copyright: 1995-2013 Jean-loup Gailly and Mark Adler
40 | License: Zlib
41 |
42 | Files: amiga/Makefile.pup
43 | Copyright: 1998 by Andreas R. Kleinert
44 | License: Zlib
45 |
46 | Files: contrib/minizip/*
47 | Copyright: 1998-2010 Gilles Vollant
48 | 2007-2008 Even Rouault
49 | 2009-2010 Mathias Svensson
50 | License: Zlib
51 |
52 | Files: debian/*
53 | Copyright: 2000-2017 Mark Brown
54 | License: Zlib
55 |
56 | License: Zlib
57 | This software is provided 'as-is', without any express or implied
58 | warranty. In no event will the authors be held liable for any damages
59 | arising from the use of this software.
60 | .
61 | Permission is granted to anyone to use this software for any purpose,
62 | including commercial applications, and to alter it and redistribute it
63 | freely, subject to the following restrictions:
64 | .
65 | 1. The origin of this software must not be misrepresented; you must not
66 | claim that you wrote the original software. If you use this software
67 | in a product, an acknowledgment in the product documentation would be
68 | appreciated but is not required.
69 | 2. Altered source versions must be plainly marked as such, and must not be
70 | misrepresented as being the original software.
71 | 3. This notice may not be removed or altered from any source distribution.
72 | .
73 | Jean-loup Gailly Mark Adler
74 | jloup@gzip.org madler@alumni.caltech.edu
75 | .
76 | If you use the zlib library in a product, we would appreciate *not* receiving
77 | lengthy legal documents to sign. The sources are provided for free but without
78 | warranty of any kind. The library has been entirely written by Jean-loup
79 | Gailly and Mark Adler; it does not include third-party code.
80 | .
81 | If you redistribute modified sources, we would appreciate that you include in
82 | the file ChangeLog history information documenting your changes. Please read
83 | the FAQ for more information on the distribution of modified source versions.
84 |
--------------------------------------------------------------------------------
/screenshots/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/screenshots/1.png
--------------------------------------------------------------------------------
/screenshots/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/screenshots/2.png
--------------------------------------------------------------------------------
/screenshots/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/screenshots/3.png
--------------------------------------------------------------------------------
/screenshots/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/screenshots/4.png
--------------------------------------------------------------------------------
/screenshots/Readme.md:
--------------------------------------------------------------------------------
1 | Some screenshots...
2 |
--------------------------------------------------------------------------------
/snapcraft.yaml:
--------------------------------------------------------------------------------
1 | name: ocrthypdf
2 | title: OCRthyPDF Essentials
3 | base: core20 # the base snap is the execution environment for this snap
4 | adopt-info: ocrthypdf
5 | summary: Make your PDF files text-searchable (A GUI for OCRmyPDF)
6 | description: |
7 | This is a basic user interface for the command line tool OCRmyPDF.
8 | It's main purpose is to provide users that are not used to command
9 | line tools easy access to OCRmyPDF's basic features.
10 | You can use it to make PDF files that contain images with text
11 | (e. g. after scanning) searchable by adding an invisible text layer.
12 | If you like the results created with OCRthyPDF but need more flexibility
13 | I suggest you give OCRmyPDF a try on the command line.
14 | license: AGPL-3.0
15 | icon: gui/ocrthypdf.svg
16 | compression: lzo
17 | grade: stable # 'stable' 'devel'
18 | confinement: strict # 'strict' 'devmode'
19 | architectures: [amd64]
20 | package-repositories:
21 | - type: apt
22 | ppa: alex-p/tesseract-ocr5
23 | - type: apt
24 | ppa: alex-p/jbig2enc
25 |
26 | environment:
27 | PYTHONPATH: $SNAP/usr/bin/python3.9
28 | TESSDATA_PREFIX: $SNAP/usr/share/tesseract-ocr/tessdata
29 | GS_LIB: $SNAP/usr/share/ghostscript/Init
30 | GS_FONTPATH: $SNAP/usr/share/ghostscript/Font
31 | GS_OPTIONS: -sGenericResourceDir=$SNAP/usr/share/ghostscript/ -sICCProfilesDir=$SNAP/usr/share/color/icc/ghostscript/
32 | SNAPCRAFT_PRELOAD_REDIRECT_ONLY_SHM: 1
33 |
34 | apps:
35 | ocrthypdf:
36 | command: usr/bin/snapcraft-preload $SNAP/bin/python3.9 $SNAP/code/OCRthyPDF.py
37 | command-chain: [bin/debian-multiarch-triplet-provider-launch, bin/tcltk-launch]
38 | desktop: $SNAPCRAFT_PROJECT_DIR/gui/ocrthypdf.desktop
39 | extensions: [gnome-3-38]
40 | plugs:
41 | - home
42 | - removable-media
43 | - unity7
44 |
45 | parts:
46 | get-source:
47 | plugin: dump
48 | source: https://github.com/digidigital/OCRthyPDF-Essentials.git
49 |
50 | tcltk-launch:
51 | plugin: nil
52 | stage-snaps: [tcltk-launch]
53 |
54 | debian-multiarch-triplet-provider-launch:
55 | plugin: nil
56 | stage-snaps: [debian-multiarch-triplet-provider-launch]
57 |
58 | snapcraft-preload:
59 | source: https://github.com/sergiusens/snapcraft-preload.git
60 | plugin: cmake
61 | cmake-parameters:
62 | - -DCMAKE_INSTALL_PREFIX=/usr -DLIBPATH=/lib
63 | build-packages:
64 | - gcc-multilib
65 | - g++-multilib
66 | stage-packages:
67 | - lib32stdc++6
68 | override-build: |
69 | snapcraftctl build
70 | ln -sf ../usr/lib/libsnapcraft-preload.so $SNAPCRAFT_PART_INSTALL/lib/libsnapcraft-preload.so
71 |
72 | pull-parts:
73 | plugin: nil
74 | stage-packages:
75 | - ghostscript
76 | - gsfonts
77 | - icc-profiles-free
78 | - tesseract-ocr-all
79 | build-packages:
80 | - ghostscript
81 | - curl
82 | override-prime: |
83 | snapcraftctl prime
84 |
85 | gslibpath=$(gs -h | grep Resource/Init | tr -d ' ':)
86 | ln -s -f ${gslibpath/\/usr\/share\/ghostscript/.} .${gslibpath}/../../../Init
87 |
88 | gsfontpath=$(gs -h | grep Resource/Font | tr -d ' ':)
89 | ln -s -f ${gsfontpath/\/usr\/share\/ghostscript/.} .${gsfontpath}/../../../Font
90 |
91 | tessdatapath=$(find ./ -iname tessdata)
92 | ln -s -f ${tessdatapath/usr\/share\/tesseract-ocr\//} ${tessdatapath}/../../tessdata
93 |
94 | curl --output "${tessdatapath}/best-#1.traineddata" "https://raw.githubusercontent.com/tesseract-ocr/tessdata_best/main/{deu,eng,fra,spa,por,ita,rus,ukr,jpn,jpn_vert,ara,hin,pol}.traineddata"
95 |
96 | # debug
97 | ls -l ${tessdatapath}
98 |
99 | ocrthypdf:
100 | plugin: python
101 | source: https://github.com/digidigital/OCRthyPDF-Essentials.git
102 | source-type: git
103 |
104 | stage-packages:
105 | - python3.9-venv
106 | - python3-tk
107 | - fonts-freefont-ttf
108 | - tcl
109 | - libxml2
110 | - pngquant
111 | - unpaper
112 | - qpdf
113 | - zlib1g
114 | - libzbar0
115 | - libnspr4
116 | - libnss3
117 | - libpoppler-cpp0v5
118 | - libpoppler97
119 | - jbig2enc
120 |
121 | override-pull: |
122 | snapcraftctl pull
123 | snapcraftctl set-version "$(git describe --tags)"
124 |
125 | build-packages:
126 | - build-essential
127 | - python3.9-venv
128 | - python3.9-dev
129 | - libpoppler-cpp-dev
130 | - pipenv
131 |
132 | build-environment:
133 | - SNAPCRAFT_PYTHON_INTERPRETER: python3.9
134 | # python3.9 lives in $SNAPCRAFT_PART_INSTALL/bin
135 | - PATH: $SNAPCRAFT_PART_INSTALL/bin:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/include/c++/9/:/usr/include/c++/:$PATH
136 | - CPATH: /usr/include/x86_64-linux-gnu/c++/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:usr/lib/gcc/x86_64-linux-gnu/:/usr/include/c++/9/:/usr/include/c++/
137 | - PYTHONPATH: ''
138 |
139 | override-build: |
140 | # Work around a bug in snapcraft python plugin / gnome 3.38 extension
141 | # https://forum.snapcraft.io/t/build-a-snap-with-any-version-of-python-i-want/10420/8
142 |
143 | rm -rf $SNAPCRAFT_PART_INSTALL/usr/lib/python3.9/distutils
144 | cp -r /usr/lib/python3.9/distutils $SNAPCRAFT_PART_INSTALL/usr/lib/python3.9/distutils
145 | mkdir -p $SNAPCRAFT_PART_INSTALL/usr/include/
146 | cp -r /usr/include/python3.9 $SNAPCRAFT_PART_INSTALL/usr/include/python3.9
147 |
148 | snapcraftctl build
149 |
150 | pip install -U pip wheel setuptools
151 | # ocrmypdf version >= 15.0.0 has dependecies not available in core20
152 | pip install pdftotext ocrmypdf==14.4.0 pikepdf==8.15.1 pyzbar darkdetect rich
153 | pip uninstall -y wheel
154 |
155 | # Apply shebang rewrite as done by snapcraft
156 |
157 | find $SNAPCRAFT_PART_INSTALL/bin/ -maxdepth 1 -mindepth 1 -type f -executable -exec \
158 | sed -i \
159 | "s|^#!${SNAPCRAFT_PART_INSTALL}/bin/python3.9$|#!/usr/bin/env python3|" {} \;
160 |
161 | # debug
162 | find $SNAPCRAFT_PART_INSTALL/bin/ -maxdepth 1 -mindepth 1 -type f -executable -exec head -n 1 {} \;
163 |
--------------------------------------------------------------------------------
/testing/AI_generated_text.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/testing/AI_generated_text.pdf
--------------------------------------------------------------------------------
/testing/Example.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/testing/Example.pdf
--------------------------------------------------------------------------------
/testing/Example_Sticker_Mode.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/testing/Example_Sticker_Mode.pdf
--------------------------------------------------------------------------------
/testing/Readme.md:
--------------------------------------------------------------------------------
1 | Some PDFs used to test the application and a separator page that can be used to split scans.
2 |
3 | Other PDFs used for testing:
4 | * https://www.aaa.uni-augsburg.de/de/downloads/Fraunhofer_USA.pdf
5 | * https://www.ksk-gp.de/content/dam/myif/ksk-goeppingen/work/dokumente/pdf/english/USA-Patriot-Act-Certification.pdf?n=true
6 | * https://travel.state.gov/content/dam/visas/PDF-other/Uploading%20to%20CEAC-instrucions.pdf
7 | * https://us.riso.com/wp-content/uploads/assets/manuals/a0LA0000001gAtSMAU.PDF
8 | * https://www.uni-trier.de/fileadmin/international/international/3_Outgoings/Students/USA/USA-ProgrammlisteBeispiel.pdf
9 | * https://www.oecd-nea.org/mdep/mdep_ToR.pdf
10 |
--------------------------------------------------------------------------------
/testing/Separator.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/testing/Separator.pdf
--------------------------------------------------------------------------------
/testing/Separator_Page_Areas.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/testing/Separator_Page_Areas.odt
--------------------------------------------------------------------------------
/testing/Separator_Page_Template.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/testing/Separator_Page_Template.odt
--------------------------------------------------------------------------------
/testing/barcodesQR.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/digidigital/OCRthyPDF-Essentials/92959b432fb0abb2a5b7b08f843e4335cf9f0d40/testing/barcodesQR.zip
--------------------------------------------------------------------------------