BabelDOC 0.1.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. babeldoc/__init__.py +1 -0
  2. babeldoc/asynchronize/__init__.py +51 -0
  3. babeldoc/const.py +7 -0
  4. babeldoc/converter.py +510 -0
  5. babeldoc/document_il/__init__.py +43 -0
  6. babeldoc/document_il/backend/__init__.py +0 -0
  7. babeldoc/document_il/backend/pdf_creater.py +402 -0
  8. babeldoc/document_il/frontend/__init__.py +0 -0
  9. babeldoc/document_il/frontend/il_creater.py +348 -0
  10. babeldoc/document_il/il_version_1.py +799 -0
  11. babeldoc/document_il/il_version_1.rnc +141 -0
  12. babeldoc/document_il/il_version_1.rng +390 -0
  13. babeldoc/document_il/il_version_1.xsd +235 -0
  14. babeldoc/document_il/midend/__init__.py +0 -0
  15. babeldoc/document_il/midend/add_debug_information.py +138 -0
  16. babeldoc/document_il/midend/il_translator.py +553 -0
  17. babeldoc/document_il/midend/layout_parser.py +180 -0
  18. babeldoc/document_il/midend/paragraph_finder.py +452 -0
  19. babeldoc/document_il/midend/remove_descent.py +168 -0
  20. babeldoc/document_il/midend/styles_and_formulas.py +701 -0
  21. babeldoc/document_il/midend/typesetting.py +761 -0
  22. babeldoc/document_il/translator/__init__.py +0 -0
  23. babeldoc/document_il/translator/cache.py +145 -0
  24. babeldoc/document_il/translator/translator.py +267 -0
  25. babeldoc/document_il/utils/fontmap.py +227 -0
  26. babeldoc/document_il/utils/layout_helper.py +467 -0
  27. babeldoc/document_il/utils/style_helper.py +86 -0
  28. babeldoc/document_il/xml_converter.py +51 -0
  29. babeldoc/docvision/README.md +0 -0
  30. babeldoc/docvision/__init__.py +0 -0
  31. babeldoc/docvision/doclayout.py +278 -0
  32. babeldoc/docvision/rpc_doclayout.py +162 -0
  33. babeldoc/high_level.py +468 -0
  34. babeldoc/main.py +466 -0
  35. babeldoc/pdfinterp.py +464 -0
  36. babeldoc/progress_monitor.py +146 -0
  37. babeldoc/translation_config.py +156 -0
  38. babeldoc-0.1.6.dist-info/METADATA +283 -0
  39. babeldoc-0.1.6.dist-info/RECORD +42 -0
  40. babeldoc-0.1.6.dist-info/WHEEL +4 -0
  41. babeldoc-0.1.6.dist-info/entry_points.txt +2 -0
  42. babeldoc-0.1.6.dist-info/licenses/LICENSE +661 -0
@@ -0,0 +1,799 @@
1
+ from dataclasses import dataclass
2
+ from dataclasses import field
3
+
4
+
5
+ @dataclass
6
+ class BaseOperations:
7
+ class Meta:
8
+ name = "baseOperations"
9
+
10
+ value: str = field(
11
+ default="",
12
+ metadata={
13
+ "required": True,
14
+ },
15
+ )
16
+
17
+
18
+ @dataclass
19
+ class Box:
20
+ class Meta:
21
+ name = "box"
22
+
23
+ x: float | None = field(
24
+ default=None,
25
+ metadata={
26
+ "type": "Attribute",
27
+ "required": True,
28
+ },
29
+ )
30
+ y: float | None = field(
31
+ default=None,
32
+ metadata={
33
+ "type": "Attribute",
34
+ "required": True,
35
+ },
36
+ )
37
+ x2: float | None = field(
38
+ default=None,
39
+ metadata={
40
+ "type": "Attribute",
41
+ "required": True,
42
+ },
43
+ )
44
+ y2: float | None = field(
45
+ default=None,
46
+ metadata={
47
+ "type": "Attribute",
48
+ "required": True,
49
+ },
50
+ )
51
+
52
+
53
+ @dataclass
54
+ class GraphicState:
55
+ class Meta:
56
+ name = "graphicState"
57
+
58
+ linewidth: float | None = field(
59
+ default=None,
60
+ metadata={
61
+ "type": "Attribute",
62
+ },
63
+ )
64
+ dash: list[float] = field(
65
+ default_factory=list,
66
+ metadata={
67
+ "type": "Attribute",
68
+ "min_length": 1,
69
+ "tokens": True,
70
+ },
71
+ )
72
+ flatness: float | None = field(
73
+ default=None,
74
+ metadata={
75
+ "type": "Attribute",
76
+ },
77
+ )
78
+ intent: str | None = field(
79
+ default=None,
80
+ metadata={
81
+ "type": "Attribute",
82
+ },
83
+ )
84
+ linecap: int | None = field(
85
+ default=None,
86
+ metadata={
87
+ "type": "Attribute",
88
+ },
89
+ )
90
+ linejoin: int | None = field(
91
+ default=None,
92
+ metadata={
93
+ "type": "Attribute",
94
+ },
95
+ )
96
+ miterlimit: float | None = field(
97
+ default=None,
98
+ metadata={
99
+ "type": "Attribute",
100
+ },
101
+ )
102
+ ncolor: list[float] = field(
103
+ default_factory=list,
104
+ metadata={
105
+ "type": "Attribute",
106
+ "min_length": 1,
107
+ "tokens": True,
108
+ },
109
+ )
110
+ scolor: list[float] = field(
111
+ default_factory=list,
112
+ metadata={
113
+ "type": "Attribute",
114
+ "min_length": 1,
115
+ "tokens": True,
116
+ },
117
+ )
118
+ stroking_color_space_name: str | None = field(
119
+ default=None,
120
+ metadata={
121
+ "name": "strokingColorSpaceName",
122
+ "type": "Attribute",
123
+ },
124
+ )
125
+ non_stroking_color_space_name: str | None = field(
126
+ default=None,
127
+ metadata={
128
+ "name": "nonStrokingColorSpaceName",
129
+ "type": "Attribute",
130
+ },
131
+ )
132
+ passthrough_per_char_instruction: str | None = field(
133
+ default=None,
134
+ metadata={
135
+ "name": "passthroughPerCharInstruction",
136
+ "type": "Attribute",
137
+ },
138
+ )
139
+
140
+
141
+ @dataclass
142
+ class PdfFont:
143
+ class Meta:
144
+ name = "pdfFont"
145
+
146
+ name: str | None = field(
147
+ default=None,
148
+ metadata={
149
+ "type": "Attribute",
150
+ "required": True,
151
+ },
152
+ )
153
+ font_id: str | None = field(
154
+ default=None,
155
+ metadata={
156
+ "name": "fontId",
157
+ "type": "Attribute",
158
+ "required": True,
159
+ },
160
+ )
161
+ xref_id: int | None = field(
162
+ default=None,
163
+ metadata={
164
+ "name": "xrefId",
165
+ "type": "Attribute",
166
+ "required": True,
167
+ },
168
+ )
169
+ encoding_length: int | None = field(
170
+ default=None,
171
+ metadata={
172
+ "name": "encodingLength",
173
+ "type": "Attribute",
174
+ "required": True,
175
+ },
176
+ )
177
+ bold: bool | None = field(
178
+ default=None,
179
+ metadata={
180
+ "type": "Attribute",
181
+ },
182
+ )
183
+ italic: bool | None = field(
184
+ default=None,
185
+ metadata={
186
+ "type": "Attribute",
187
+ },
188
+ )
189
+ monospace: bool | None = field(
190
+ default=None,
191
+ metadata={
192
+ "type": "Attribute",
193
+ },
194
+ )
195
+ serif: bool | None = field(
196
+ default=None,
197
+ metadata={
198
+ "type": "Attribute",
199
+ },
200
+ )
201
+ ascent: float | None = field(
202
+ default=None,
203
+ metadata={
204
+ "type": "Attribute",
205
+ },
206
+ )
207
+ descent: float | None = field(
208
+ default=None,
209
+ metadata={
210
+ "type": "Attribute",
211
+ },
212
+ )
213
+
214
+
215
+ @dataclass
216
+ class Cropbox:
217
+ class Meta:
218
+ name = "cropbox"
219
+
220
+ box: Box | None = field(
221
+ default=None,
222
+ metadata={
223
+ "type": "Element",
224
+ "required": True,
225
+ },
226
+ )
227
+
228
+
229
+ @dataclass
230
+ class Mediabox:
231
+ class Meta:
232
+ name = "mediabox"
233
+
234
+ box: Box | None = field(
235
+ default=None,
236
+ metadata={
237
+ "type": "Element",
238
+ "required": True,
239
+ },
240
+ )
241
+
242
+
243
+ @dataclass
244
+ class PageLayout:
245
+ class Meta:
246
+ name = "pageLayout"
247
+
248
+ box: Box | None = field(
249
+ default=None,
250
+ metadata={
251
+ "type": "Element",
252
+ "required": True,
253
+ },
254
+ )
255
+ id: int | None = field(
256
+ default=None,
257
+ metadata={
258
+ "type": "Attribute",
259
+ "required": True,
260
+ },
261
+ )
262
+ conf: float | None = field(
263
+ default=None,
264
+ metadata={
265
+ "type": "Attribute",
266
+ "required": True,
267
+ },
268
+ )
269
+ class_name: str | None = field(
270
+ default=None,
271
+ metadata={
272
+ "type": "Attribute",
273
+ "required": True,
274
+ },
275
+ )
276
+
277
+
278
+ @dataclass
279
+ class PdfFigure:
280
+ class Meta:
281
+ name = "pdfFigure"
282
+
283
+ box: Box | None = field(
284
+ default=None,
285
+ metadata={
286
+ "type": "Element",
287
+ "required": True,
288
+ },
289
+ )
290
+
291
+
292
+ @dataclass
293
+ class PdfRectangle:
294
+ class Meta:
295
+ name = "pdfRectangle"
296
+
297
+ box: Box | None = field(
298
+ default=None,
299
+ metadata={
300
+ "type": "Element",
301
+ "required": True,
302
+ },
303
+ )
304
+ graphic_state: GraphicState | None = field(
305
+ default=None,
306
+ metadata={
307
+ "name": "graphicState",
308
+ "type": "Element",
309
+ "required": True,
310
+ },
311
+ )
312
+ debug_info: bool | None = field(
313
+ default=None,
314
+ metadata={
315
+ "type": "Attribute",
316
+ },
317
+ )
318
+
319
+
320
+ @dataclass
321
+ class PdfStyle:
322
+ class Meta:
323
+ name = "pdfStyle"
324
+
325
+ graphic_state: GraphicState | None = field(
326
+ default=None,
327
+ metadata={
328
+ "name": "graphicState",
329
+ "type": "Element",
330
+ "required": True,
331
+ },
332
+ )
333
+ font_id: str | None = field(
334
+ default=None,
335
+ metadata={
336
+ "type": "Attribute",
337
+ "required": True,
338
+ },
339
+ )
340
+ font_size: float | None = field(
341
+ default=None,
342
+ metadata={
343
+ "type": "Attribute",
344
+ "required": True,
345
+ },
346
+ )
347
+
348
+
349
+ @dataclass
350
+ class PdfXobject:
351
+ class Meta:
352
+ name = "pdfXobject"
353
+
354
+ box: Box | None = field(
355
+ default=None,
356
+ metadata={
357
+ "type": "Element",
358
+ "required": True,
359
+ },
360
+ )
361
+ pdf_font: list[PdfFont] = field(
362
+ default_factory=list,
363
+ metadata={
364
+ "name": "pdfFont",
365
+ "type": "Element",
366
+ },
367
+ )
368
+ base_operations: BaseOperations | None = field(
369
+ default=None,
370
+ metadata={
371
+ "name": "baseOperations",
372
+ "type": "Element",
373
+ "required": True,
374
+ },
375
+ )
376
+ xobj_id: int | None = field(
377
+ default=None,
378
+ metadata={
379
+ "name": "xobjId",
380
+ "type": "Attribute",
381
+ "required": True,
382
+ },
383
+ )
384
+ xref_id: int | None = field(
385
+ default=None,
386
+ metadata={
387
+ "name": "xrefId",
388
+ "type": "Attribute",
389
+ "required": True,
390
+ },
391
+ )
392
+
393
+
394
+ @dataclass
395
+ class PdfCharacter:
396
+ class Meta:
397
+ name = "pdfCharacter"
398
+
399
+ pdf_style: PdfStyle | None = field(
400
+ default=None,
401
+ metadata={
402
+ "name": "pdfStyle",
403
+ "type": "Element",
404
+ "required": True,
405
+ },
406
+ )
407
+ box: Box | None = field(
408
+ default=None,
409
+ metadata={
410
+ "type": "Element",
411
+ "required": True,
412
+ },
413
+ )
414
+ vertical: bool | None = field(
415
+ default=None,
416
+ metadata={
417
+ "type": "Attribute",
418
+ },
419
+ )
420
+ scale: float | None = field(
421
+ default=None,
422
+ metadata={
423
+ "type": "Attribute",
424
+ },
425
+ )
426
+ pdf_character_id: int | None = field(
427
+ default=None,
428
+ metadata={
429
+ "name": "pdfCharacterId",
430
+ "type": "Attribute",
431
+ },
432
+ )
433
+ char_unicode: str | None = field(
434
+ default=None,
435
+ metadata={
436
+ "type": "Attribute",
437
+ "required": True,
438
+ },
439
+ )
440
+ advance: float | None = field(
441
+ default=None,
442
+ metadata={
443
+ "type": "Attribute",
444
+ },
445
+ )
446
+ xobj_id: int | None = field(
447
+ default=None,
448
+ metadata={
449
+ "name": "xobjId",
450
+ "type": "Attribute",
451
+ },
452
+ )
453
+ debug_info: bool | None = field(
454
+ default=None,
455
+ metadata={
456
+ "type": "Attribute",
457
+ },
458
+ )
459
+
460
+
461
+ @dataclass
462
+ class PdfSameStyleUnicodeCharacters:
463
+ class Meta:
464
+ name = "pdfSameStyleUnicodeCharacters"
465
+
466
+ pdf_style: PdfStyle | None = field(
467
+ default=None,
468
+ metadata={
469
+ "name": "pdfStyle",
470
+ "type": "Element",
471
+ },
472
+ )
473
+ unicode: str | None = field(
474
+ default=None,
475
+ metadata={
476
+ "type": "Attribute",
477
+ "required": True,
478
+ },
479
+ )
480
+ debug_info: bool | None = field(
481
+ default=None,
482
+ metadata={
483
+ "type": "Attribute",
484
+ },
485
+ )
486
+
487
+
488
+ @dataclass
489
+ class PdfFormula:
490
+ class Meta:
491
+ name = "pdfFormula"
492
+
493
+ box: Box | None = field(
494
+ default=None,
495
+ metadata={
496
+ "type": "Element",
497
+ "required": True,
498
+ },
499
+ )
500
+ pdf_character: list[PdfCharacter] = field(
501
+ default_factory=list,
502
+ metadata={
503
+ "name": "pdfCharacter",
504
+ "type": "Element",
505
+ "min_occurs": 1,
506
+ },
507
+ )
508
+ x_offset: float | None = field(
509
+ default=None,
510
+ metadata={
511
+ "type": "Attribute",
512
+ "required": True,
513
+ },
514
+ )
515
+ y_offset: float | None = field(
516
+ default=None,
517
+ metadata={
518
+ "type": "Attribute",
519
+ "required": True,
520
+ },
521
+ )
522
+
523
+
524
+ @dataclass
525
+ class PdfLine:
526
+ class Meta:
527
+ name = "pdfLine"
528
+
529
+ box: Box | None = field(
530
+ default=None,
531
+ metadata={
532
+ "type": "Element",
533
+ "required": True,
534
+ },
535
+ )
536
+ pdf_character: list[PdfCharacter] = field(
537
+ default_factory=list,
538
+ metadata={
539
+ "name": "pdfCharacter",
540
+ "type": "Element",
541
+ "min_occurs": 1,
542
+ },
543
+ )
544
+
545
+
546
+ @dataclass
547
+ class PdfSameStyleCharacters:
548
+ class Meta:
549
+ name = "pdfSameStyleCharacters"
550
+
551
+ box: Box | None = field(
552
+ default=None,
553
+ metadata={
554
+ "type": "Element",
555
+ "required": True,
556
+ },
557
+ )
558
+ pdf_style: PdfStyle | None = field(
559
+ default=None,
560
+ metadata={
561
+ "name": "pdfStyle",
562
+ "type": "Element",
563
+ "required": True,
564
+ },
565
+ )
566
+ pdf_character: list[PdfCharacter] = field(
567
+ default_factory=list,
568
+ metadata={
569
+ "name": "pdfCharacter",
570
+ "type": "Element",
571
+ "min_occurs": 1,
572
+ },
573
+ )
574
+
575
+
576
+ @dataclass
577
+ class PdfParagraphComposition:
578
+ class Meta:
579
+ name = "pdfParagraphComposition"
580
+
581
+ pdf_line: PdfLine | None = field(
582
+ default=None,
583
+ metadata={
584
+ "name": "pdfLine",
585
+ "type": "Element",
586
+ },
587
+ )
588
+ pdf_formula: PdfFormula | None = field(
589
+ default=None,
590
+ metadata={
591
+ "name": "pdfFormula",
592
+ "type": "Element",
593
+ },
594
+ )
595
+ pdf_same_style_characters: PdfSameStyleCharacters | None = field(
596
+ default=None,
597
+ metadata={
598
+ "name": "pdfSameStyleCharacters",
599
+ "type": "Element",
600
+ },
601
+ )
602
+ pdf_character: PdfCharacter | None = field(
603
+ default=None,
604
+ metadata={
605
+ "name": "pdfCharacter",
606
+ "type": "Element",
607
+ },
608
+ )
609
+ pdf_same_style_unicode_characters: PdfSameStyleUnicodeCharacters | None = field(
610
+ default=None,
611
+ metadata={
612
+ "name": "pdfSameStyleUnicodeCharacters",
613
+ "type": "Element",
614
+ },
615
+ )
616
+
617
+
618
+ @dataclass
619
+ class PdfParagraph:
620
+ class Meta:
621
+ name = "pdfParagraph"
622
+
623
+ box: Box | None = field(
624
+ default=None,
625
+ metadata={
626
+ "type": "Element",
627
+ "required": True,
628
+ },
629
+ )
630
+ pdf_style: PdfStyle | None = field(
631
+ default=None,
632
+ metadata={
633
+ "name": "pdfStyle",
634
+ "type": "Element",
635
+ "required": True,
636
+ },
637
+ )
638
+ pdf_paragraph_composition: list[PdfParagraphComposition] = field(
639
+ default_factory=list,
640
+ metadata={
641
+ "name": "pdfParagraphComposition",
642
+ "type": "Element",
643
+ },
644
+ )
645
+ xobj_id: int | None = field(
646
+ default=None,
647
+ metadata={
648
+ "name": "xobjId",
649
+ "type": "Attribute",
650
+ },
651
+ )
652
+ unicode: str | None = field(
653
+ default=None,
654
+ metadata={
655
+ "type": "Attribute",
656
+ "required": True,
657
+ },
658
+ )
659
+ scale: float | None = field(
660
+ default=None,
661
+ metadata={
662
+ "type": "Attribute",
663
+ },
664
+ )
665
+ vertical: bool | None = field(
666
+ default=None,
667
+ metadata={
668
+ "type": "Attribute",
669
+ },
670
+ )
671
+ first_line_indent: bool | None = field(
672
+ default=None,
673
+ metadata={
674
+ "name": "FirstLineIndent",
675
+ "type": "Attribute",
676
+ },
677
+ )
678
+ debug_id: str | None = field(
679
+ default=None,
680
+ metadata={
681
+ "type": "Attribute",
682
+ },
683
+ )
684
+
685
+
686
+ @dataclass
687
+ class Page:
688
+ class Meta:
689
+ name = "page"
690
+
691
+ mediabox: Mediabox | None = field(
692
+ default=None,
693
+ metadata={
694
+ "type": "Element",
695
+ "required": True,
696
+ },
697
+ )
698
+ cropbox: Cropbox | None = field(
699
+ default=None,
700
+ metadata={
701
+ "type": "Element",
702
+ "required": True,
703
+ },
704
+ )
705
+ pdf_xobject: list[PdfXobject] = field(
706
+ default_factory=list,
707
+ metadata={
708
+ "name": "pdfXobject",
709
+ "type": "Element",
710
+ },
711
+ )
712
+ page_layout: list[PageLayout] = field(
713
+ default_factory=list,
714
+ metadata={
715
+ "name": "pageLayout",
716
+ "type": "Element",
717
+ },
718
+ )
719
+ pdf_rectangle: list[PdfRectangle] = field(
720
+ default_factory=list,
721
+ metadata={
722
+ "name": "pdfRectangle",
723
+ "type": "Element",
724
+ },
725
+ )
726
+ pdf_font: list[PdfFont] = field(
727
+ default_factory=list,
728
+ metadata={
729
+ "name": "pdfFont",
730
+ "type": "Element",
731
+ },
732
+ )
733
+ pdf_paragraph: list[PdfParagraph] = field(
734
+ default_factory=list,
735
+ metadata={
736
+ "name": "pdfParagraph",
737
+ "type": "Element",
738
+ },
739
+ )
740
+ pdf_figure: list[PdfFigure] = field(
741
+ default_factory=list,
742
+ metadata={
743
+ "name": "pdfFigure",
744
+ "type": "Element",
745
+ },
746
+ )
747
+ pdf_character: list[PdfCharacter] = field(
748
+ default_factory=list,
749
+ metadata={
750
+ "name": "pdfCharacter",
751
+ "type": "Element",
752
+ },
753
+ )
754
+ base_operations: BaseOperations | None = field(
755
+ default=None,
756
+ metadata={
757
+ "name": "baseOperations",
758
+ "type": "Element",
759
+ "required": True,
760
+ },
761
+ )
762
+ page_number: int | None = field(
763
+ default=None,
764
+ metadata={
765
+ "name": "pageNumber",
766
+ "type": "Attribute",
767
+ "required": True,
768
+ },
769
+ )
770
+ unit: str | None = field(
771
+ default=None,
772
+ metadata={
773
+ "name": "Unit",
774
+ "type": "Attribute",
775
+ "required": True,
776
+ },
777
+ )
778
+
779
+
780
+ @dataclass
781
+ class Document:
782
+ class Meta:
783
+ name = "document"
784
+
785
+ page: list[Page] = field(
786
+ default_factory=list,
787
+ metadata={
788
+ "type": "Element",
789
+ "min_occurs": 1,
790
+ },
791
+ )
792
+ total_pages: int | None = field(
793
+ default=None,
794
+ metadata={
795
+ "name": "totalPages",
796
+ "type": "Attribute",
797
+ "required": True,
798
+ },
799
+ )