Use hocr and weave; eliminate old combine layers and merge pages
This commit is contained in:
+221
-273
@@ -4,453 +4,401 @@
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: Pipeline: Pages: 1 -->
|
||||
<svg width="1660pt" height="1270pt"
|
||||
viewBox="0.00 0.00 1660.00 1270.29" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1266.2885)">
|
||||
<svg width="1504pt" height="1219pt"
|
||||
viewBox="0.00 0.00 1504.00 1219.20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1215.1977)">
|
||||
<title>Pipeline:</title>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1266.2885 1656,-1266.2885 1656,4 -4,4"/>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1215.1977 1500,-1215.1977 1500,4 -4,4"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>clustertasks</title>
|
||||
<polygon fill="none" stroke="#000000" points="8,-8 8,-1254.2885 1644,-1254.2885 1644,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="826" y="-1226.2885" font-family="Times,serif" font-size="30.00" fill="#ff3232">Pipeline:</text>
|
||||
<polygon fill="none" stroke="#000000" points="8,-8 8,-1203.1977 1488,-1203.1977 1488,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="748" y="-1175.1977" font-family="Times,serif" font-size="30.00" fill="#ff3232">Pipeline:</text>
|
||||
</g>
|
||||
<!-- t0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>t0</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1571.7053,-1208.2885 1362.2947,-1208.2885 1358.2947,-1204.2885 1358.2947,-1172.2885 1567.7053,-1172.2885 1571.7053,-1176.2885 1571.7053,-1208.2885"/>
|
||||
<polyline fill="none" stroke="#000000" points="1567.7053,-1204.2885 1358.2947,-1204.2885 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1567.7053,-1204.2885 1567.7053,-1172.2885 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1567.7053,-1204.2885 1571.7053,-1208.2885 "/>
|
||||
<text text-anchor="middle" x="1465" y="-1184.2885" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.triage</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1143.7053,-1157.1977 934.2947,-1157.1977 930.2947,-1153.1977 930.2947,-1121.1977 1139.7053,-1121.1977 1143.7053,-1125.1977 1143.7053,-1157.1977"/>
|
||||
<polyline fill="none" stroke="#000000" points="1139.7053,-1153.1977 930.2947,-1153.1977 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1139.7053,-1153.1977 1139.7053,-1121.1977 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1139.7053,-1153.1977 1143.7053,-1157.1977 "/>
|
||||
<text text-anchor="middle" x="1037" y="-1133.1977" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.triage</text>
|
||||
</g>
|
||||
<!-- t1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>t1</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1636.0433,-1150.2885 1297.9567,-1150.2885 1293.9567,-1146.2885 1293.9567,-1114.2885 1632.0433,-1114.2885 1636.0433,-1118.2885 1636.0433,-1150.2885"/>
|
||||
<polyline fill="none" stroke="#000000" points="1632.0433,-1146.2885 1293.9567,-1146.2885 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1632.0433,-1146.2885 1632.0433,-1114.2885 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1632.0433,-1146.2885 1636.0433,-1150.2885 "/>
|
||||
<text text-anchor="middle" x="1465" y="-1126.2885" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.repair_and_parse_pdf</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1208.0433,-1099.1977 869.9567,-1099.1977 865.9567,-1095.1977 865.9567,-1063.1977 1204.0433,-1063.1977 1208.0433,-1067.1977 1208.0433,-1099.1977"/>
|
||||
<polyline fill="none" stroke="#000000" points="1204.0433,-1095.1977 865.9567,-1095.1977 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1204.0433,-1095.1977 1204.0433,-1063.1977 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1204.0433,-1095.1977 1208.0433,-1099.1977 "/>
|
||||
<text text-anchor="middle" x="1037" y="-1075.1977" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.repair_and_parse_pdf</text>
|
||||
</g>
|
||||
<!-- t0->t1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>t0->t1</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1465,-1172.2548C1465,-1168.5803 1465,-1164.6302 1465,-1160.6948"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1468.5001,-1160.5107 1465,-1150.5107 1461.5001,-1160.5108 1468.5001,-1160.5107"/>
|
||||
<path fill="none" stroke="#0044a0" d="M1037,-1121.1641C1037,-1117.4895 1037,-1113.5395 1037,-1109.604"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1040.5001,-1109.4199 1037,-1099.4199 1033.5001,-1109.42 1040.5001,-1109.4199"/>
|
||||
</g>
|
||||
<!-- t2 -->
|
||||
<g id="node3" class="node">
|
||||
<title>t2</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1436.0926,-1071.3639 1191,-1088.2639 945.9074,-1071.3639 946.1362,-1044.0193 1435.8638,-1044.0193 1436.0926,-1071.3639"/>
|
||||
<polygon fill="none" stroke="#000000" points="1440.0px49,-1075.0929 1191,-1092.2709 941.8751,-1075.0929 942.1685,-1040.0218 1439.8315,-1040.0218 1440.0px49,-1075.0929"/>
|
||||
<text text-anchor="middle" x="1191" y="-1057.8061" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.marker_pages</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1127.0926,-1020.2732 882,-1037.1731 636.9074,-1020.2732 637.1362,-992.9285 1126.8638,-992.9285 1127.0926,-1020.2732"/>
|
||||
<polygon fill="none" stroke="#000000" points="1131.1249,-1024.0021 882,-1041.1801 632.8751,-1024.0021 633.1685,-988.931 1130.8315,-988.931 1131.1249,-1024.0021"/>
|
||||
<text text-anchor="middle" x="882" y="-1006.7153" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.marker_pages</text>
|
||||
</g>
|
||||
<!-- t1->t2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>t1->t2</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1392.6513,-1114.2059C1361.3368,-1106.3793 1324.1752,-1097.0913 1290.3371,-1088.634"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1290.9726,-1085.1852 1280.4224,-1086.1559 1289.2752,-1091.9763 1290.9726,-1085.1852"/>
|
||||
<path fill="none" stroke="#0044a0" d="M995.8698,-1063.0255C981.0253,-1056.4668 963.8784,-1048.891 947.4691,-1041.641"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="948.4773,-1038.26 937.9158,-1037.4201 945.6483,-1044.663 948.4773,-1038.26"/>
|
||||
</g>
|
||||
<!-- t17 -->
|
||||
<g id="node18" class="node">
|
||||
<g id="node17" class="node">
|
||||
<title>t17</title>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="917.5059,-295.7315 644.4941,-295.7315 640.4941,-291.7315 640.4941,-259.7315 913.5059,-259.7315 917.5059,-263.7315 917.5059,-295.7315"/>
|
||||
<polyline fill="none" stroke="#000000" points="913.5059,-291.7315 640.4941,-291.7315 "/>
|
||||
<polyline fill="none" stroke="#000000" points="913.5059,-291.7315 913.5059,-259.7315 "/>
|
||||
<polyline fill="none" stroke="#000000" points="913.5059,-291.7315 917.5059,-295.7315 "/>
|
||||
<text text-anchor="middle" x="779" y="-271.7315" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.weave_layers</text>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="762.5059,-270.1861 489.4941,-270.1861 485.4941,-266.1861 485.4941,-234.1861 758.5059,-234.1861 762.5059,-238.1861 762.5059,-270.1861"/>
|
||||
<polyline fill="none" stroke="#000000" points="758.5059,-266.1861 485.4941,-266.1861 "/>
|
||||
<polyline fill="none" stroke="#000000" points="758.5059,-266.1861 758.5059,-234.1861 "/>
|
||||
<polyline fill="none" stroke="#000000" points="758.5059,-266.1861 762.5059,-270.1861 "/>
|
||||
<text text-anchor="middle" x="624" y="-246.1861" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.weave_layers</text>
|
||||
</g>
|
||||
<!-- t1->t17 -->
|
||||
<g id="edge26" class="edge">
|
||||
<g id="edge24" class="edge">
|
||||
<title>t1->t17</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1463.7858,-1114.1384C1462.0326,-1086.3221 1459,-1031.4682 1459,-984.84 1459,-984.84 1459,-984.84 1459,-558.3564 1459,-509.3948 1466.5665,-483.7568 1429,-452.3564 1351.9075,-387.9176 1281.2138,-494.6497 1204,-430.3564 1173.0571,-404.5913 1209.1627,-369.951 1179,-343.2769 1155.5732,-322.5595 1070.8682,-326.2946 1040,-321.2769 992.8913,-313.6192 941.0326,-305.0051 896.0381,-297.472"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="896.3929,-293.9828 885.952,-295.7823 895.2363,-300.8866 896.3929,-293.9828"/>
|
||||
<path fill="none" stroke="#0044a0" d="M865.7,-1073.6476C575.1688,-1058.5285 17,-1018.4586 17,-933.7492 17,-933.7492 17,-933.7492 17,-429.2656 17,-368.2377 -17.9719,-335.5198 25,-292.1861 40.6952,-276.3587 302.9615,-263.8206 475.2081,-257.2446"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="475.5316,-260.735 485.3919,-256.8588 475.2665,-253.74 475.5316,-260.735"/>
|
||||
</g>
|
||||
<!-- t18 -->
|
||||
<g id="node20" class="node">
|
||||
<g id="node19" class="node">
|
||||
<title>t18</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1635.5156,-404.8166 1272.4844,-404.8166 1268.4844,-400.8166 1268.4844,-368.8166 1631.5156,-368.8166 1635.5156,-372.8166 1635.5156,-404.8166"/>
|
||||
<polyline fill="none" stroke="#000000" points="1631.5156,-400.8166 1268.4844,-400.8166 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1631.5156,-400.8166 1631.5156,-368.8166 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1631.5156,-400.8166 1635.5156,-404.8166 "/>
|
||||
<text text-anchor="middle" x="1452" y="-380.8166" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.generate_postscript_stub</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1459.5156,-951.7492 1096.4844,-951.7492 1092.4844,-947.7492 1092.4844,-915.7492 1455.5156,-915.7492 1459.5156,-919.7492 1459.5156,-951.7492"/>
|
||||
<polyline fill="none" stroke="#000000" points="1455.5156,-947.7492 1092.4844,-947.7492 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1455.5156,-947.7492 1455.5156,-915.7492 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1455.5156,-947.7492 1459.5156,-951.7492 "/>
|
||||
<text text-anchor="middle" x="1276" y="-927.7492" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.generate_postscript_stub</text>
|
||||
</g>
|
||||
<!-- t1->t18 -->
|
||||
<g id="edge29" class="edge">
|
||||
<g id="edge27" class="edge">
|
||||
<title>t1->t18</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1475.1096,-1114.035C1478.4118,-1107.3677 1481.7937,-1099.6531 1484,-1092.2885 1497.8378,-1046.0988 1499,-1033.058 1499,-984.84 1499,-984.84 1499,-984.84 1499,-558.3564 1499,-510.7759 1497.9424,-497.8482 1484,-452.3564 1479.9708,-439.2095 1473.6018,-425.423 1467.6031,-413.9052"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1470.5362,-411.9701 1462.7108,-404.8277 1464.3741,-415.2912 1470.5362,-411.9701"/>
|
||||
<path fill="none" stroke="#0044a0" d="M1092.3885,-1063.1613C1108.2153,-1057.0913 1125.1799,-1049.674 1140,-1041.1977 1181.1886,-1017.6399 1223.2361,-982.3362 1249.4567,-958.6949"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1252.0343,-961.0813 1257.0676,-951.7583 1247.319,-955.9076 1252.0343,-961.0813"/>
|
||||
</g>
|
||||
<!-- t20 -->
|
||||
<g id="node21" class="node">
|
||||
<title>t20</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="840.189,-156.4288 1033,-129.1099 1225.811,-156.4288 1225.631,-200.6317 840.369,-200.6317 840.189,-156.4288"/>
|
||||
<polygon fill="none" stroke="#000000" points="836.1715,-152.9543 1033,-125.0662 1229.8285,-152.9543 1229.6181,-204.6353 836.3819,-204.6353 836.1715,-152.9543"/>
|
||||
<text text-anchor="middle" x="1033" y="-162.6461" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.metadata_fixup</text>
|
||||
<!-- t19 -->
|
||||
<g id="node20" class="node">
|
||||
<title>t19</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1015.189,-156.4288 1208,-129.1099 1400.811,-156.4288 1400.631,-200.6317 1015.369,-200.6317 1015.189,-156.4288"/>
|
||||
<polygon fill="none" stroke="#000000" points="1011.1715,-152.9543 1208,-125.0662 1404.8285,-152.9543 1404.6181,-204.6353 1011.3819,-204.6353 1011.1715,-152.9543"/>
|
||||
<text text-anchor="middle" x="1208" y="-162.6461" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.metadata_fixup</text>
|
||||
</g>
|
||||
<!-- t1->t20 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>t1->t20</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1467.8331,-1114.1813C1471.924,-1086.421 1479,-1031.6392 1479,-984.84 1479,-984.84 1479,-984.84 1479,-558.3564 1479,-509.3948 1486.4421,-483.9051 1449,-452.3564 1377.9112,-392.4567 1317.7442,-482.8149 1241,-430.3564 1205.035,-405.7725 1231.3468,-368.7415 1196,-343.2769 1144.5389,-306.2031 1099.5867,-366.385 1055,-321.2769 1027.8809,-293.8406 1024.3206,-248.934 1026.3901,-214.9163"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1029.8955,-214.9845 1027.1933,-204.7401 1022.9172,-214.4337 1029.8955,-214.9845"/>
|
||||
</g>
|
||||
<!-- t21 -->
|
||||
<g id="node23" class="node">
|
||||
<title>t21</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1068.1753,-265.5126 1249,-238.1903 1429.8247,-265.5126 1429.6559,-309.721 1068.3441,-309.721 1068.1753,-265.5126"/>
|
||||
<polygon fill="none" stroke="#000000" points="1064.1584,-262.0699 1249,-234.1406 1433.8416,-262.0699 1433.6444,-313.7252 1064.3556,-313.7252 1064.1584,-262.0699"/>
|
||||
<text text-anchor="middle" x="1249" y="-271.7315" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.merge_pages</text>
|
||||
</g>
|
||||
<!-- t1->t21 -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>t1->t21</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1481.1099,-1114.2158C1486.2106,-1107.688 1491.4411,-1100.0152 1495,-1092.2885 1515.4706,-1047.8446 1519,-1033.7717 1519,-984.84 1519,-984.84 1519,-984.84 1519,-558.3564 1519,-508.7435 1522.7432,-483.3466 1484,-452.3564 1444.7682,-420.9753 1293.9503,-466.4448 1259,-430.3564 1244.7552,-415.6477 1244.044,-363.272 1245.7301,-323.9497"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1249.2359,-323.9168 1246.2316,-313.7569 1242.2443,-323.5727 1249.2359,-323.9168"/>
|
||||
<!-- t1->t19 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>t1->t19</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1103.146,-1063.1053C1128.1671,-1056.2536 1156.8994,-1048.3763 1183,-1041.1977 1317.9441,-1004.0832 1479,-1073.7042 1479,-933.7492 1479,-933.7492 1479,-933.7492 1479,-335.7258 1479,-283.5318 1462.7563,-264.1212 1420,-234.1861 1405.9522,-224.3508 1390.38,-215.9542 1374.2381,-208.7935"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1375.2471,-205.419 1364.6755,-204.7186 1372.503,-211.8587 1375.2471,-205.419"/>
|
||||
</g>
|
||||
<!-- t3 -->
|
||||
<g id="node4" class="node">
|
||||
<title>t3</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1421.5194,-992.3982 1191,-1009.2989 960.4806,-992.3982 960.6958,-965.0524 1421.3042,-965.0524 1421.5194,-992.3982"/>
|
||||
<polygon fill="none" stroke="#000000" points="1425.5491,-996.1112 1191,-1013.3073 956.4509,-996.1112 956.7267,-961.0547 1425.2733,-961.0547 1425.5491,-996.1112"/>
|
||||
<text text-anchor="middle" x="1191" y="-978.84" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.ocr_or_skip</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1070.5194,-941.3074 840,-958.2081 609.4806,-941.3074 609.6958,-913.9616 1070.3042,-913.9616 1070.5194,-941.3074"/>
|
||||
<polygon fill="none" stroke="#000000" points="1074.5491,-945.0204 840,-962.2165 605.4509,-945.0204 605.7267,-909.9639 1074.2733,-909.9639 1074.5491,-945.0204"/>
|
||||
<text text-anchor="middle" x="840" y="-927.7492" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.ocr_or_skip</text>
|
||||
</g>
|
||||
<!-- t2->t3 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>t2->t3</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1191,-1039.6846C1191,-1034.6543 1191,-1029.2298 1191,-1023.8181"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1194.5001,-1023.5335 1191,-1013.5335 1187.5001,-1023.5336 1194.5001,-1023.5335"/>
|
||||
<path fill="none" stroke="#0044a0" d="M869.1704,-988.5938C866.0908,-982.8038 862.7335,-976.4916 859.4285,-970.2775"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="862.4479,-968.5011 854.6619,-961.3157 856.2677,-971.7882 862.4479,-968.5011"/>
|
||||
</g>
|
||||
<!-- t4 -->
|
||||
<g id="node5" class="node">
|
||||
<title>t4</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1246.3166,-934.3564 939.6834,-934.3564 935.6834,-930.3564 935.6834,-898.3564 1242.3166,-898.3564 1246.3166,-902.3564 1246.3166,-934.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="1242.3166,-930.3564 935.6834,-930.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1242.3166,-930.3564 1242.3166,-898.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1242.3166,-930.3564 1246.3166,-934.3564 "/>
|
||||
<text text-anchor="middle" x="1091" y="-910.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.rasterize_preview</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1160.3166,-883.2656 853.6834,-883.2656 849.6834,-879.2656 849.6834,-847.2656 1156.3166,-847.2656 1160.3166,-851.2656 1160.3166,-883.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="1156.3166,-879.2656 849.6834,-879.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1156.3166,-879.2656 1156.3166,-847.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1156.3166,-879.2656 1160.3166,-883.2656 "/>
|
||||
<text text-anchor="middle" x="1005" y="-859.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.rasterize_preview</text>
|
||||
</g>
|
||||
<!-- t3->t4 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>t3->t4</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1156.0249,-960.8877C1146.1799,-954.1455 1135.4781,-946.8166 1125.6521,-940.0874"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1127.5144,-937.1207 1117.2861,-934.358 1123.5591,-942.8962 1127.5144,-937.1207"/>
|
||||
<path fill="none" stroke="#0044a0" d="M897.709,-909.797C915.43,-902.4418 934.8333,-894.3884 952.2078,-887.1771"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="953.7336,-890.3334 961.628,-883.2672 951.0502,-883.8681 953.7336,-890.3334"/>
|
||||
</g>
|
||||
<!-- t5 -->
|
||||
<g id="node6" class="node">
|
||||
<title>t5</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1299.0824,-876.3564 1040.9176,-876.3564 1036.9176,-872.3564 1036.9176,-840.3564 1295.0824,-840.3564 1299.0824,-844.3564 1299.0824,-876.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="1295.0824,-872.3564 1036.9176,-872.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1295.0824,-872.3564 1295.0824,-840.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1295.0824,-872.3564 1299.0824,-876.3564 "/>
|
||||
<text text-anchor="middle" x="1168" y="-852.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.orient_page</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1118.0824,-825.2656 859.9176,-825.2656 855.9176,-821.2656 855.9176,-789.2656 1114.0824,-789.2656 1118.0824,-793.2656 1118.0824,-825.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="1114.0824,-821.2656 855.9176,-821.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1114.0824,-821.2656 1114.0824,-789.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1114.0824,-821.2656 1118.0824,-825.2656 "/>
|
||||
<text text-anchor="middle" x="987" y="-801.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.orient_page</text>
|
||||
</g>
|
||||
<!-- t3->t5 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>t3->t5</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1232.4907,-961.0487C1241.5514,-953.7304 1249.9372,-944.7982 1255,-934.3564 1261.9805,-919.9594 1263.6331,-911.8274 1255,-898.3564 1250.9299,-892.0054 1245.5695,-886.6492 1239.5039,-882.1346"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1241.1375,-879.0213 1230.8506,-876.4856 1237.311,-884.8829 1241.1375,-879.0213"/>
|
||||
<path fill="none" stroke="#0044a0" d="M833.1324,-909.9518C829.2069,-891.0127 827.4191,-864.8559 841,-847.2656 846.6916,-839.8936 860.4225,-833.5377 877.3049,-828.2001"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="878.3804,-831.532 886.9772,-825.3397 876.3952,-824.8194 878.3804,-831.532"/>
|
||||
</g>
|
||||
<!-- t4->t5 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>t4->t5</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1114.9412,-898.3227C1121.6047,-893.3035 1128.9506,-887.7702 1135.9974,-882.4622"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1138.1919,-885.1911 1144.0736,-876.3788 1133.9802,-879.5998 1138.1919,-885.1911"/>
|
||||
<path fill="none" stroke="#0044a0" d="M999.4034,-847.2319C998.2294,-843.4493 996.9649,-839.3747 995.708,-835.3247"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="998.962,-834.001 992.6552,-825.4878 992.2765,-836.0759 998.962,-834.001"/>
|
||||
</g>
|
||||
<!-- t6 -->
|
||||
<g id="node7" class="node">
|
||||
<title>t6</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1087.7325,-818.3564 712.2675,-818.3564 708.2675,-814.3564 708.2675,-782.3564 1083.7325,-782.3564 1087.7325,-786.3564 1087.7325,-818.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="1083.7325,-814.3564 708.2675,-814.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1083.7325,-814.3564 1083.7325,-782.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1083.7325,-814.3564 1087.7325,-818.3564 "/>
|
||||
<text text-anchor="middle" x="898" y="-794.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.rasterize_with_ghostscript</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1166.7325,-767.2656 791.2675,-767.2656 787.2675,-763.2656 787.2675,-731.2656 1162.7325,-731.2656 1166.7325,-735.2656 1166.7325,-767.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="1162.7325,-763.2656 787.2675,-763.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1162.7325,-763.2656 1162.7325,-731.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1162.7325,-763.2656 1166.7325,-767.2656 "/>
|
||||
<text text-anchor="middle" x="977" y="-743.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.rasterize_with_ghostscript</text>
|
||||
</g>
|
||||
<!-- t5->t6 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>t5->t6</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1084.0503,-840.3227C1054.8434,-834.0486 1021.8978,-826.9714 991.935,-820.535"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="992.4098,-817.0572 981.8977,-818.3788 990.9396,-823.9011 992.4098,-817.0572"/>
|
||||
<path fill="none" stroke="#0044a0" d="M983.8908,-789.2319C983.2572,-785.5574 982.5762,-781.6073 981.8976,-777.6719"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="985.29,-776.7477 980.1418,-767.4878 978.3918,-777.9371 985.29,-776.7477"/>
|
||||
</g>
|
||||
<!-- t13 -->
|
||||
<g id="node17" class="node">
|
||||
<g id="node16" class="node">
|
||||
<title>t13</title>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="1097,-508.3564 774.4141,-480.3564 1097,-452.3564 1419.5859,-480.3564 1097,-508.3564"/>
|
||||
<text text-anchor="middle" x="1097" y="-474.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.select_image_layer</text>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="1117,-457.2656 794.4141,-429.2656 1117,-401.2656 1439.5859,-429.2656 1117,-457.2656"/>
|
||||
<text text-anchor="middle" x="1117" y="-423.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.select_image_layer</text>
|
||||
</g>
|
||||
<!-- t5->t13 -->
|
||||
<g id="edge22" class="edge">
|
||||
<g id="edge20" class="edge">
|
||||
<title>t5->t13</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1168,-840.273C1168,-817.4524 1168,-776.9952 1168,-742.3564 1168,-742.3564 1168,-742.3564 1168,-626.3564 1168,-583.4588 1178.3393,-568.1255 1158,-530.3564 1154.4291,-523.7254 1149.577,-517.6358 1144.1589,-512.161"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1146.2104,-509.2916 1136.4871,-505.0833 1141.4638,-514.4366 1146.2104,-509.2916"/>
|
||||
</g>
|
||||
<!-- t19 -->
|
||||
<g id="node22" class="node">
|
||||
<title>t19</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1438.7716,-760.3564 1193.2284,-760.3564 1189.2284,-756.3564 1189.2284,-724.3564 1434.7716,-724.3564 1438.7716,-728.3564 1438.7716,-760.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="1434.7716,-756.3564 1189.2284,-756.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1434.7716,-756.3564 1434.7716,-724.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1434.7716,-756.3564 1438.7716,-760.3564 "/>
|
||||
<text text-anchor="middle" x="1314" y="-736.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.skip_page</text>
|
||||
</g>
|
||||
<!-- t5->t19 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>t5->t19</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1190.8125,-840.2314C1215.5242,-820.5974 1255.1075,-789.1476 1282.7129,-767.2146"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1285.2136,-769.6981 1290.8659,-760.7369 1280.859,-764.2173 1285.2136,-769.6981"/>
|
||||
<path fill="none" stroke="#0044a0" d="M1118.1879,-790.6395C1144.3794,-784.8205 1166.7114,-777.1767 1176,-767.2656 1199.3386,-742.3628 1187,-725.3953 1187,-691.2656 1187,-691.2656 1187,-691.2656 1187,-575.2656 1187,-532.368 1197.1859,-517.117 1177,-479.2656 1173.4907,-472.6851 1168.7198,-466.6243 1163.3915,-461.1636"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1165.5374,-458.3781 1155.8461,-454.0967 1160.7522,-463.4872 1165.5374,-458.3781"/>
|
||||
</g>
|
||||
<!-- t7 -->
|
||||
<g id="node8" class="node">
|
||||
<title>t7</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="879.0801,-760.3564 454.9199,-760.3564 450.9199,-756.3564 450.9199,-724.3564 875.0801,-724.3564 879.0801,-728.3564 879.0801,-760.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="875.0801,-756.3564 450.9199,-756.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="875.0801,-756.3564 875.0801,-724.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="875.0801,-756.3564 879.0801,-760.3564 "/>
|
||||
<text text-anchor="middle" x="665" y="-736.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.preprocess_remove_background</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="958.0801,-709.2656 533.9199,-709.2656 529.9199,-705.2656 529.9199,-673.2656 954.0801,-673.2656 958.0801,-677.2656 958.0801,-709.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="954.0801,-705.2656 529.9199,-705.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="954.0801,-705.2656 954.0801,-673.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="954.0801,-705.2656 958.0801,-709.2656 "/>
|
||||
<text text-anchor="middle" x="744" y="-685.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.preprocess_remove_background</text>
|
||||
</g>
|
||||
<!-- t6->t7 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>t6->t7</title>
|
||||
<path fill="none" stroke="#0044a0" d="M825.5546,-782.3227C800.7884,-776.1578 772.9071,-769.2174 747.4138,-762.8714"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="747.95,-759.3981 737.4006,-760.3788 746.259,-766.1908 747.95,-759.3981"/>
|
||||
<path fill="none" stroke="#0044a0" d="M904.5546,-731.2319C879.7884,-725.067 851.9071,-718.1266 826.4138,-711.7806"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="826.95,-708.3073 816.4006,-709.288 825.259,-715.1 826.95,-708.3073"/>
|
||||
</g>
|
||||
<!-- t12 -->
|
||||
<g id="node16" class="node">
|
||||
<g id="node15" class="node">
|
||||
<title>t12</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="765,-586.3564 381.1874,-558.3564 765,-530.3564 1148.8126,-558.3564 765,-586.3564"/>
|
||||
<text text-anchor="middle" x="765" y="-552.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.select_visible_page_image</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="784,-535.2656 400.1874,-507.2656 784,-479.2656 1167.8126,-507.2656 784,-535.2656"/>
|
||||
<text text-anchor="middle" x="784" y="-501.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.select_visible_page_image</text>
|
||||
</g>
|
||||
<!-- t6->t12 -->
|
||||
<g id="edge20" class="edge">
|
||||
<g id="edge18" class="edge">
|
||||
<title>t6->t12</title>
|
||||
<path fill="none" stroke="#0044a0" d="M898.1443,-782.2037C897.6867,-766.3864 895.5831,-743.1096 888,-724.3564 867.2991,-673.1624 827.0126,-623.5073 798.1838,-592.0549"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="800.4937,-589.3993 791.1202,-584.4608 795.3682,-594.1668 800.4937,-589.3993"/>
|
||||
<path fill="none" stroke="#0044a0" d="M978.1978,-731.0693C979.6326,-693.2308 977.2953,-605.5735 930,-557.2656 919.8727,-546.9215 907.5166,-538.7165 894.3237,-532.2085"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="895.6224,-528.9537 885.0735,-527.9686 892.7057,-535.3171 895.6224,-528.9537"/>
|
||||
</g>
|
||||
<!-- t8 -->
|
||||
<g id="node9" class="node">
|
||||
<title>t8</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="755.6759,-702.3564 436.3241,-702.3564 432.3241,-698.3564 432.3241,-666.3564 751.6759,-666.3564 755.6759,-670.3564 755.6759,-702.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="751.6759,-698.3564 432.3241,-698.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="751.6759,-698.3564 751.6759,-666.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="751.6759,-698.3564 755.6759,-702.3564 "/>
|
||||
<text text-anchor="middle" x="594" y="-678.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.preprocess_deskew</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="930.6759,-651.2656 611.3241,-651.2656 607.3241,-647.2656 607.3241,-615.2656 926.6759,-615.2656 930.6759,-619.2656 930.6759,-651.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="926.6759,-647.2656 607.3241,-647.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="926.6759,-647.2656 926.6759,-615.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="926.6759,-647.2656 930.6759,-651.2656 "/>
|
||||
<text text-anchor="middle" x="769" y="-627.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.preprocess_deskew</text>
|
||||
</g>
|
||||
<!-- t7->t8 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>t7->t8</title>
|
||||
<path fill="none" stroke="#0044a0" d="M642.9243,-724.3227C636.9709,-719.4593 630.4267,-714.1134 624.115,-708.9574"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="626.2653,-706.1945 616.3065,-702.5786 621.8367,-711.6156 626.2653,-706.1945"/>
|
||||
<path fill="none" stroke="#0044a0" d="M751.7731,-673.2319C753.4501,-669.3412 755.2603,-665.1417 757.0552,-660.9776"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="760.4014,-662.0565 761.1456,-651.4878 753.9731,-659.2856 760.4014,-662.0565"/>
|
||||
</g>
|
||||
<!-- t7->t12 -->
|
||||
<g id="edge19" class="edge">
|
||||
<g id="edge17" class="edge">
|
||||
<title>t7->t12</title>
|
||||
<path fill="none" stroke="#0044a0" d="M740.0346,-724.2554C749.8757,-718.7792 758.7103,-711.6465 765,-702.3564 786.0291,-671.2957 782.4083,-627.1795 775.8082,-595.9806"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="779.1481,-594.8884 773.487,-585.9328 772.3278,-596.4641 779.1481,-594.8884"/>
|
||||
<path fill="none" stroke="#0044a0" d="M643.9087,-673.2441C622.7156,-667.3649 604.695,-660.0415 598,-651.2656 572.6604,-618.0498 572.5807,-590.4204 598,-557.2656 606.6447,-545.9902 630.0462,-536.6909 657.4547,-529.2983"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="658.4879,-532.6465 667.2989,-526.7629 656.7419,-525.8677 658.4879,-532.6465"/>
|
||||
</g>
|
||||
<!-- t9 -->
|
||||
<g id="node10" class="node">
|
||||
<title>t9</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="735.8828,-644.3564 434.1172,-644.3564 430.1172,-640.3564 430.1172,-608.3564 731.8828,-608.3564 735.8828,-612.3564 735.8828,-644.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="731.8828,-640.3564 430.1172,-640.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="731.8828,-640.3564 731.8828,-608.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="731.8828,-640.3564 735.8828,-644.3564 "/>
|
||||
<text text-anchor="middle" x="583" y="-620.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.preprocess_clean</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="912.8828,-593.2656 611.1172,-593.2656 607.1172,-589.2656 607.1172,-557.2656 908.8828,-557.2656 912.8828,-561.2656 912.8828,-593.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="908.8828,-589.2656 607.1172,-589.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="908.8828,-589.2656 908.8828,-557.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="908.8828,-589.2656 912.8828,-593.2656 "/>
|
||||
<text text-anchor="middle" x="760" y="-569.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.preprocess_clean</text>
|
||||
</g>
|
||||
<!-- t8->t9 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>t8->t9</title>
|
||||
<path fill="none" stroke="#0044a0" d="M590.5798,-666.3227C589.8624,-662.5401 589.0897,-658.4655 588.3216,-654.4155"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="591.7581,-653.7513 586.4559,-644.5786 584.8807,-655.0557 591.7581,-653.7513"/>
|
||||
<path fill="none" stroke="#0044a0" d="M766.2017,-615.2319C765.6315,-611.5574 765.0185,-607.6073 764.4079,-603.6719"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="767.8197,-602.8328 762.8276,-593.4878 760.9024,-603.9063 767.8197,-602.8328"/>
|
||||
</g>
|
||||
<!-- t8->t12 -->
|
||||
<g id="edge18" class="edge">
|
||||
<g id="edge16" class="edge">
|
||||
<title>t8->t12</title>
|
||||
<path fill="none" stroke="#0044a0" d="M693.0045,-666.3526C716.2528,-660.3246 736.6919,-652.9215 745,-644.3564 757.1971,-631.782 762.4901,-613.2959 764.6123,-596.6822"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="768.1041,-596.9335 765.5574,-586.6493 761.1349,-596.277 768.1041,-596.9335"/>
|
||||
<path fill="none" stroke="#0044a0" d="M875.8215,-615.19C897.1712,-609.3919 915.1622,-602.1209 922,-593.2656 931.7788,-580.6016 931.1868,-570.3653 922,-557.2656 915.7828,-548.4003 898.4853,-539.9108 878.1493,-532.5246"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="879.2156,-529.1899 868.6208,-529.2112 876.9164,-535.8016 879.2156,-529.1899"/>
|
||||
</g>
|
||||
<!-- t10 -->
|
||||
<g id="node11" class="node">
|
||||
<title>t10</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="363.1094,-576.3564 58.8906,-576.3564 54.8906,-572.3564 54.8906,-540.3564 359.1094,-540.3564 363.1094,-544.3564 363.1094,-576.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="359.1094,-572.3564 54.8906,-572.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="359.1094,-572.3564 359.1094,-540.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="359.1094,-572.3564 363.1094,-576.3564 "/>
|
||||
<text text-anchor="middle" x="209" y="-552.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.select_ocr_image</text>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="382.1094,-525.2656 77.8906,-525.2656 73.8906,-521.2656 73.8906,-489.2656 378.1094,-489.2656 382.1094,-493.2656 382.1094,-525.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="378.1094,-521.2656 73.8906,-521.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="378.1094,-521.2656 378.1094,-489.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="378.1094,-521.2656 382.1094,-525.2656 "/>
|
||||
<text text-anchor="middle" x="228" y="-501.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.select_ocr_image</text>
|
||||
</g>
|
||||
<!-- t9->t10 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>t9->t10</title>
|
||||
<path fill="none" stroke="#0044a0" d="M483.7568,-608.3121C432.7279,-599.0342 370.4237,-587.7061 318.0537,-578.1843"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="318.5223,-574.7122 308.0575,-576.3668 317.2701,-581.5993 318.5223,-574.7122"/>
|
||||
<path fill="none" stroke="#0044a0" d="M606.6862,-560.7998C540.2619,-553.9762 461.6761,-545.1568 391,-535.2656 373.4852,-532.8143 354.9627,-529.9218 336.9313,-526.9421"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="337.4138,-523.4743 326.9739,-525.28 336.2612,-530.3788 337.4138,-523.4743"/>
|
||||
</g>
|
||||
<!-- t9->t12 -->
|
||||
<g id="edge17" class="edge">
|
||||
<g id="edge15" class="edge">
|
||||
<title>t9->t12</title>
|
||||
<path fill="none" stroke="#0044a0" d="M631.2948,-608.3121C650.0226,-601.3149 671.8712,-593.1517 692.4134,-585.4766"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="693.9148,-588.6521 702.0573,-581.8734 691.4648,-582.0948 693.9148,-588.6521"/>
|
||||
<path fill="none" stroke="#0044a0" d="M766.4316,-557.0428C767.8283,-553.0854 769.3544,-548.7615 770.905,-544.368"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="774.2705,-545.3486 774.2983,-534.7538 767.6695,-543.0188 774.2705,-545.3486"/>
|
||||
</g>
|
||||
<!-- t11 -->
|
||||
<g id="node12" class="node">
|
||||
<title>t11</title>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="736.0996,-498.3564 421.9004,-498.3564 417.9004,-494.3564 417.9004,-462.3564 732.0996,-462.3564 736.0996,-466.3564 736.0996,-498.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="732.0996,-494.3564 417.9004,-494.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="732.0996,-494.3564 732.0996,-462.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="732.0996,-494.3564 736.0996,-498.3564 "/>
|
||||
<text text-anchor="middle" x="577" y="-474.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.ocr_tesseract_hocr</text>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="756.0996,-447.2656 441.9004,-447.2656 437.9004,-443.2656 437.9004,-411.2656 752.0996,-411.2656 756.0996,-415.2656 756.0996,-447.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="752.0996,-443.2656 437.9004,-443.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="752.0996,-443.2656 752.0996,-411.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="752.0996,-443.2656 756.0996,-447.2656 "/>
|
||||
<text text-anchor="middle" x="597" y="-423.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.ocr_tesseract_hocr</text>
|
||||
</g>
|
||||
<!-- t10->t11 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>t10->t11</title>
|
||||
<path fill="none" stroke="#0044a0" d="M294.3516,-540.2655C350.4513,-528.3748 423.9209,-512.8025 481.8937,-500.5148"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="482.7362,-503.914 491.7932,-498.4165 481.2847,-497.0661 482.7362,-503.914"/>
|
||||
<path fill="none" stroke="#0044a0" d="M313.5835,-489.1748C369.8356,-477.2841 443.5049,-461.7117 501.6353,-449.424"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="502.5017,-452.8182 511.5616,-447.3257 501.0539,-445.9696 502.5017,-452.8182"/>
|
||||
</g>
|
||||
<!-- t16 -->
|
||||
<g id="node13" class="node">
|
||||
<g id="node14" class="node">
|
||||
<title>t16</title>
|
||||
<polygon fill="#ff69b4" stroke="#000000" points="400.2696,-498.3564 19.7304,-498.3564 15.7304,-494.3564 15.7304,-462.3564 396.2696,-462.3564 400.2696,-466.3564 400.2696,-498.3564"/>
|
||||
<polyline fill="none" stroke="#000000" points="396.2696,-494.3564 15.7304,-494.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="396.2696,-494.3564 396.2696,-462.3564 "/>
|
||||
<polyline fill="none" stroke="#000000" points="396.2696,-494.3564 400.2696,-498.3564 "/>
|
||||
<text text-anchor="middle" x="208" y="-474.3564" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.ocr_tesseract_textonly_pdf</text>
|
||||
<polygon fill="#ff69b4" stroke="#000000" points="420.2696,-447.2656 39.7304,-447.2656 35.7304,-443.2656 35.7304,-411.2656 416.2696,-411.2656 420.2696,-415.2656 420.2696,-447.2656"/>
|
||||
<polyline fill="none" stroke="#000000" points="416.2696,-443.2656 35.7304,-443.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="416.2696,-443.2656 416.2696,-411.2656 "/>
|
||||
<polyline fill="none" stroke="#000000" points="416.2696,-443.2656 420.2696,-447.2656 "/>
|
||||
<text text-anchor="middle" x="228" y="-423.2656" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.ocr_tesseract_textonly_pdf</text>
|
||||
</g>
|
||||
<!-- t10->t16 -->
|
||||
<g id="edge13" class="edge">
|
||||
<g id="edge14" class="edge">
|
||||
<title>t10->t16</title>
|
||||
<path fill="none" stroke="#0044a0" d="M208.7681,-540.2655C208.6478,-530.8822 208.4981,-519.2062 208.3629,-508.6609"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="211.8621,-508.5735 208.2341,-498.6193 204.8627,-508.6633 211.8621,-508.5735"/>
|
||||
</g>
|
||||
<!-- t22 -->
|
||||
<g id="node14" class="node">
|
||||
<title>t22</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="39.7205,-374.5993 233,-347.2805 426.2795,-374.5993 426.0991,-418.802 39.9009,-418.802 39.7205,-374.5993"/>
|
||||
<polygon fill="none" stroke="#000000" points="35.7033,-371.1237 233,-343.2371 430.2967,-371.1237 430.0858,-422.8056 35.9142,-422.8056 35.7033,-371.1237"/>
|
||||
<text text-anchor="middle" x="233" y="-380.8166" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.merge_sidecars</text>
|
||||
</g>
|
||||
<!-- t11->t22 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>t11->t22</title>
|
||||
<path fill="none" stroke="#0044a0" d="M510.6733,-462.321C472.1331,-451.8412 422.0357,-438.2188 375.0218,-425.4349"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="375.9216,-422.0525 365.3536,-422.8059 374.0848,-428.8073 375.9216,-422.0525"/>
|
||||
<path fill="none" stroke="#0044a0" d="M228,-489.1748C228,-479.7914 228,-468.1154 228,-457.5701"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="231.5001,-457.5284 228,-447.5285 224.5001,-457.5285 231.5001,-457.5284"/>
|
||||
</g>
|
||||
<!-- t14 -->
|
||||
<g id="node15" class="node">
|
||||
<g id="node13" class="node">
|
||||
<title>t14</title>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="760.0433,-404.8166 451.9567,-404.8166 447.9567,-400.8166 447.9567,-368.8166 756.0433,-368.8166 760.0433,-372.8166 760.0433,-404.8166"/>
|
||||
<polyline fill="none" stroke="#000000" points="756.0433,-400.8166 447.9567,-400.8166 "/>
|
||||
<polyline fill="none" stroke="#000000" points="756.0433,-400.8166 756.0433,-368.8166 "/>
|
||||
<polyline fill="none" stroke="#000000" points="756.0433,-400.8166 760.0433,-404.8166 "/>
|
||||
<text text-anchor="middle" x="604" y="-380.8166" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.render_hocr_page</text>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="780.0433,-353.7258 471.9567,-353.7258 467.9567,-349.7258 467.9567,-317.7258 776.0433,-317.7258 780.0433,-321.7258 780.0433,-353.7258"/>
|
||||
<polyline fill="none" stroke="#000000" points="776.0433,-349.7258 467.9567,-349.7258 "/>
|
||||
<polyline fill="none" stroke="#000000" points="776.0433,-349.7258 776.0433,-317.7258 "/>
|
||||
<polyline fill="none" stroke="#000000" points="776.0433,-349.7258 780.0433,-353.7258 "/>
|
||||
<text text-anchor="middle" x="624" y="-329.7258" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.render_hocr_page</text>
|
||||
</g>
|
||||
<!-- t11->t14 -->
|
||||
<g id="edge16" class="edge">
|
||||
<g id="edge13" class="edge">
|
||||
<title>t11->t14</title>
|
||||
<path fill="none" stroke="#0044a0" d="M582.2059,-462.321C586.0656,-448.9492 591.4022,-430.461 595.8284,-415.1265"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="599.3074,-415.6942 598.718,-405.1158 592.5819,-413.7529 599.3074,-415.6942"/>
|
||||
<path fill="none" stroke="#0044a0" d="M602.2059,-411.2302C606.0656,-397.8584 611.4022,-379.3702 615.8284,-364.0357"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="619.3074,-364.6035 618.718,-354.025 612.5819,-362.6621 619.3074,-364.6035"/>
|
||||
</g>
|
||||
<!-- t15 -->
|
||||
<g id="node19" class="node">
|
||||
<g id="node18" class="node">
|
||||
<title>t15</title>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="1169.9202,-404.8166 802.0798,-404.8166 798.0798,-400.8166 798.0798,-368.8166 1165.9202,-368.8166 1169.9202,-372.8166 1169.9202,-404.8166"/>
|
||||
<polyline fill="none" stroke="#000000" points="1165.9202,-400.8166 798.0798,-400.8166 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1165.9202,-400.8166 1165.9202,-368.8166 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1165.9202,-400.8166 1169.9202,-404.8166 "/>
|
||||
<text text-anchor="middle" x="984" y="-380.8166" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.render_hocr_debug_page</text>
|
||||
<polygon fill="#00cc66" stroke="#000000" points="1169.9202,-353.7258 802.0798,-353.7258 798.0798,-349.7258 798.0798,-317.7258 1165.9202,-317.7258 1169.9202,-321.7258 1169.9202,-353.7258"/>
|
||||
<polyline fill="none" stroke="#000000" points="1165.9202,-349.7258 798.0798,-349.7258 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1165.9202,-349.7258 1165.9202,-317.7258 "/>
|
||||
<polyline fill="none" stroke="#000000" points="1165.9202,-349.7258 1169.9202,-353.7258 "/>
|
||||
<text text-anchor="middle" x="984" y="-329.7258" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.render_hocr_debug_page</text>
|
||||
</g>
|
||||
<!-- t11->t15 -->
|
||||
<g id="edge28" class="edge">
|
||||
<g id="edge26" class="edge">
|
||||
<title>t11->t15</title>
|
||||
<path fill="none" stroke="#0044a0" d="M655.4737,-462.321C724.1963,-446.5266 823.9775,-423.5942 895.5195,-407.1518"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="896.4589,-410.5273 905.4208,-404.8763 894.8909,-403.7051 896.4589,-410.5273"/>
|
||||
<path fill="none" stroke="#0044a0" d="M671.6175,-411.2302C736.8294,-395.4681 831.4531,-372.5971 899.4498,-356.162"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="900.3844,-359.537 909.2822,-353.7855 898.7398,-352.7329 900.3844,-359.537"/>
|
||||
</g>
|
||||
<!-- t16->t22 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>t16->t22</title>
|
||||
<path fill="none" stroke="#0044a0" d="M212.8203,-462.321C215.0783,-453.8723 217.8822,-443.3813 220.6745,-432.9336"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="224.1291,-433.5629 223.3299,-422.9982 217.3665,-431.7554 224.1291,-433.5629"/>
|
||||
<!-- t20 -->
|
||||
<g id="node22" class="node">
|
||||
<title>t20</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="59.7205,-323.5085 253,-296.1897 446.2795,-323.5085 446.0991,-367.7112 59.9009,-367.7112 59.7205,-323.5085"/>
|
||||
<polygon fill="none" stroke="#000000" points="55.7033,-320.0329 253,-292.1463 450.2967,-320.0329 450.0858,-371.7148 55.9142,-371.7148 55.7033,-320.0329"/>
|
||||
<text text-anchor="middle" x="253" y="-329.7258" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.merge_sidecars</text>
|
||||
</g>
|
||||
<!-- t16->t17 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>t16->t17</title>
|
||||
<path fill="none" stroke="#0044a0" d="M101.729,-462.3237C68.1524,-454.3148 37.1198,-443.6507 27,-430.3564 3.5584,-399.5613 .8487,-371.8067 27,-343.2769 66.8598,-299.7917 422.64,-285.0519 630.2336,-280.1334"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="630.3956,-283.6306 640.3117,-279.8995 630.2332,-276.6325 630.3956,-283.6306"/>
|
||||
<!-- t11->t20 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>t11->t20</title>
|
||||
<path fill="none" stroke="#0044a0" d="M530.6733,-411.2302C492.1331,-400.7504 442.0357,-387.128 395.0218,-374.3441"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="395.9216,-370.9617 385.3536,-371.7151 394.0848,-377.7165 395.9216,-370.9617"/>
|
||||
</g>
|
||||
<!-- t14->t17 -->
|
||||
<g id="edge24" class="edge">
|
||||
<g id="edge22" class="edge">
|
||||
<title>t14->t17</title>
|
||||
<path fill="none" stroke="#0044a0" d="M632.8977,-368.8034C662.5359,-350.3286 708.7757,-321.5053 741.2807,-301.2435"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="743.4245,-304.0316 750.0594,-295.7714 739.7216,-298.0911 743.4245,-304.0316"/>
|
||||
<path fill="none" stroke="#0044a0" d="M624,-317.5989C624,-306.7612 624,-292.7572 624,-280.4888"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="627.5001,-280.2775 624,-270.2776 620.5001,-280.2776 627.5001,-280.2775"/>
|
||||
</g>
|
||||
<!-- t16->t17 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>t16->t17</title>
|
||||
<path fill="none" stroke="#0044a0" d="M121.729,-411.2329C88.1524,-403.224 57.1198,-392.5599 47,-379.2656 23.5584,-348.4705 20.5968,-320.483 47,-292.1861 61.4893,-276.6576 308.9021,-264.1817 474.9995,-257.507"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="475.4699,-260.9912 485.3225,-257.0955 475.1909,-253.9967 475.4699,-260.9912"/>
|
||||
</g>
|
||||
<!-- t16->t20 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>t16->t20</title>
|
||||
<path fill="none" stroke="#0044a0" d="M232.8203,-411.2302C235.0783,-402.7816 237.8822,-392.2905 240.6745,-381.8429"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="244.1291,-382.4721 243.3299,-371.9075 237.3665,-380.6646 244.1291,-382.4721"/>
|
||||
</g>
|
||||
<!-- t12->t13 -->
|
||||
<g id="edge21" class="edge">
|
||||
<g id="edge19" class="edge">
|
||||
<title>t12->t13</title>
|
||||
<path fill="none" stroke="#0044a0" d="M856.1596,-536.9393C900.7804,-526.4562 954.5256,-513.8293 999.9137,-503.1658"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1000.8284,-506.5463 1009.7629,-500.8518 999.2274,-499.7318 1000.8284,-506.5463"/>
|
||||
<path fill="none" stroke="#0044a0" d="M875.4342,-485.8486C920.1893,-475.3654 974.0965,-462.7385 1019.6212,-452.075"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1020.5619,-455.4495 1029.5001,-449.761 1018.9654,-448.634 1020.5619,-455.4495"/>
|
||||
</g>
|
||||
<!-- t12->t15 -->
|
||||
<g id="edge27" class="edge">
|
||||
<g id="edge25" class="edge">
|
||||
<title>t12->t15</title>
|
||||
<path fill="none" stroke="#0044a0" d="M756.6247,-530.7365C751.3868,-507.5191 748.4049,-474.6451 765,-452.3564 778.9693,-433.5944 826.5079,-418.2146 873.7389,-407.0804"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="874.5236,-410.4914 883.4852,-404.8399 872.9553,-403.6693 874.5236,-410.4914"/>
|
||||
<path fill="none" stroke="#0044a0" d="M776.0923,-479.7209C771.2028,-456.5505 768.6047,-423.7032 785,-401.2656 797.9932,-383.4838 843.2193,-367.8601 887.2779,-356.3313"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="888.4172,-359.6528 897.2399,-353.7867 886.6847,-352.8705 888.4172,-359.6528"/>
|
||||
</g>
|
||||
<!-- t13->t17 -->
|
||||
<g id="edge25" class="edge">
|
||||
<g id="edge23" class="edge">
|
||||
<title>t13->t17</title>
|
||||
<path fill="none" stroke="#0044a0" d="M951.3099,-464.9236C877.3581,-455.6365 800.6359,-443.1602 789,-430.3564 773.0023,-412.7529 774.4983,-345.0386 776.8379,-305.973"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="780.3443,-305.9872 777.5063,-295.7796 773.3593,-305.5291 780.3443,-305.9872"/>
|
||||
<path fill="none" stroke="#0044a0" d="M1158.1724,-404.745C1166.5787,-397.655 1174.2871,-389.1208 1179,-379.2656 1195.6968,-344.3505 1205.3645,-320.5191 1179,-292.1861 1165.2457,-277.4048 932.6999,-264.8684 773.033,-257.9499"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="772.7656,-254.4353 762.6245,-257.5024 772.4649,-261.4288 772.7656,-254.4353"/>
|
||||
</g>
|
||||
<!-- t17->t20 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>t17->t20</title>
|
||||
<path fill="none" stroke="#0044a0" d="M820.9429,-259.7182C853.1659,-245.8795 898.9091,-226.2341 939.6664,-208.7301"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="941.2839,-211.8446 949.0912,-204.6824 938.5215,-205.4127 941.2839,-211.8446"/>
|
||||
<!-- t17->t19 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>t17->t19</title>
|
||||
<path fill="none" stroke="#0044a0" d="M750.0003,-234.162C823.2979,-223.6769 917.4921,-210.2027 1001.3789,-198.2028"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1001.8891,-201.6656 1011.2927,-196.7847 1000.8978,-194.7361 1001.8891,-201.6656"/>
|
||||
</g>
|
||||
<!-- t15->t20 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>t15->t20</title>
|
||||
<path fill="none" stroke="#0044a0" d="M988.0934,-368.5908C995.6308,-335.0312 1011.915,-262.5263 1022.6622,-214.6749"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1026.0898,-215.3849 1024.8663,-204.861 1019.26,-213.8509 1026.0898,-215.3849"/>
|
||||
</g>
|
||||
<!-- t15->t21 -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>t15->t21</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1027.7594,-368.8034C1061.5194,-354.9064 1109.5042,-335.1538 1152.1612,-317.5944"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1153.5424,-320.8108 1161.4573,-313.7677 1150.8778,-314.3378 1153.5424,-320.8108"/>
|
||||
</g>
|
||||
<!-- t18->t20 -->
|
||||
<!-- t15->t19 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>t18->t20</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1457.391,-368.5685C1465.5268,-336.849 1476.6646,-271.383 1443,-234.1861 1428.2257,-217.8616 1334.1684,-202.1909 1239.869,-190.2682"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1240.2171,-186.7845 1229.86,-189.0166 1239.3484,-193.7304 1240.2171,-186.7845"/>
|
||||
<title>t15->t19</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1008.3983,-317.5273C1042.5211,-292.0754 1105.4861,-245.1103 1151.601,-210.7137"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1153.7921,-213.4458 1159.7152,-204.6613 1149.6068,-207.8347 1153.7921,-213.4458"/>
|
||||
</g>
|
||||
<!-- t18->t21 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>t18->t21</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1418.4787,-368.8034C1393.1567,-355.1962 1357.3878,-335.9753 1325.2321,-318.696"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1326.7356,-315.5306 1316.2701,-313.8801 1323.4221,-321.6967 1326.7356,-315.5306"/>
|
||||
<!-- t18->t19 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>t18->t19</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1346.2292,-915.7283C1397.8362,-897.768 1459,-864.4247 1459,-807.2656 1459,-807.2656 1459,-807.2656 1459,-335.7258 1459,-274.6094 1406.7951,-234.4876 1350.0021,-208.9223"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1351.0491,-205.5613 1340.4826,-204.7869 1348.26,-211.9816 1351.0491,-205.5613"/>
|
||||
</g>
|
||||
<!-- t23 -->
|
||||
<g id="node24" class="node">
|
||||
<title>t23</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="974.0652,-47.332 1141,-20.0049 1307.9348,-47.332 1307.779,-91.5483 974.221,-91.5483 974.0652,-47.332"/>
|
||||
<polygon fill="none" stroke="#000000" points="970.0538,-43.9306 1141,-15.9468 1311.9462,-43.9306 1311.7643,-95.5532 970.2357,-95.5532 970.0538,-43.9306"/>
|
||||
<text text-anchor="middle" x="1141" y="-53.5531" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.copy_final</text>
|
||||
</g>
|
||||
<!-- t20->t23 -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>t20->t23</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1071.0768,-130.184C1079.7982,-121.3743 1089.1282,-111.9499 1098.0392,-102.9487"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1100.5282,-105.4094 1105.0763,-95.8404 1095.5535,-100.4846 1100.5282,-105.4094"/>
|
||||
<!-- t21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>t21</title>
|
||||
<polygon fill="#efa03b" stroke="#000000" points="1041.0652,-47.332 1208,-20.0049 1374.9348,-47.332 1374.779,-91.5483 1041.221,-91.5483 1041.0652,-47.332"/>
|
||||
<polygon fill="none" stroke="#000000" points="1037.0538,-43.9306 1208,-15.9468 1378.9462,-43.9306 1378.7643,-95.5532 1037.2357,-95.5532 1037.0538,-43.9306"/>
|
||||
<text text-anchor="middle" x="1208" y="-53.5531" font-family="Times,serif" font-size="20.00" fill="#000000">ocrmypdf.pipeline.copy_final</text>
|
||||
</g>
|
||||
<!-- t19->t21 -->
|
||||
<g id="edge35" class="edge">
|
||||
<g id="edge32" class="edge">
|
||||
<title>t19->t21</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1356.3193,-724.2261C1392.5828,-705.5141 1439,-672.542 1439,-626.3564 1439,-626.3564 1439,-626.3564 1439,-558.3564 1439,-511.0361 1462.0515,-486.221 1429,-452.3564 1371.1662,-393.0997 1298.984,-492.2664 1244,-430.3564 1218.6833,-401.8507 1223.387,-357.2098 1232.3726,-323.5562"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1235.7387,-324.5149 1235.134,-313.9374 1229.0105,-322.5833 1235.7387,-324.5149"/>
|
||||
</g>
|
||||
<!-- t21->t23 -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>t21->t23</title>
|
||||
<path fill="none" stroke="#0044a0" d="M1255.8749,-235.0071C1258.8908,-202.6847 1258.1767,-158.3414 1239,-125.1062 1234.1919,-116.7732 1227.846,-109.2905 1220.6891,-102.6266"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1222.5064,-99.5739 1212.6391,-95.7155 1217.9466,-104.8851 1222.5064,-99.5739"/>
|
||||
<path fill="none" stroke="#0044a0" d="M1208,-124.9024C1208,-118.6745 1208,-112.2508 1208,-105.974"/>
|
||||
<polygon fill="#0044a0" stroke="#0044a0" points="1211.5001,-105.6096 1208,-95.6097 1204.5001,-105.6097 1211.5001,-105.6096"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 26 KiB |
+29
-128
@@ -720,7 +720,7 @@ def render_hocr_debug_page(
|
||||
interwordSpaces=True)
|
||||
|
||||
|
||||
def _weave_layers_graft(pdf_base, page_num, text, font, log):
|
||||
def _weave_layers_graft(pdf_base, page_num, text, font, font_key, log):
|
||||
import pikepdf
|
||||
from math import cos, sin, pi
|
||||
|
||||
@@ -773,8 +773,8 @@ def _weave_layers_graft(pdf_base, page_num, text, font, log):
|
||||
base_fonts = base_page['/Resources']['/Font']
|
||||
except KeyError:
|
||||
base_fonts = pikepdf.Dictionary({})
|
||||
if not '/f-0-0' in base_fonts:
|
||||
base_fonts['/f-0-0'] = font
|
||||
if not font_key in base_fonts:
|
||||
base_fonts[font_key] = font
|
||||
base_page['/Resources']['/Font'] = base_fonts
|
||||
|
||||
# Technically we should add /Text to /ProcSet, but /ProcSet is
|
||||
@@ -834,7 +834,7 @@ def weave_layers(
|
||||
path_base = Path(base).resolve()
|
||||
pdf_base = pikepdf.open(path_base)
|
||||
keep_open = []
|
||||
font = None
|
||||
font, font_key = None, None
|
||||
|
||||
# Iterate rest
|
||||
for page_num, layers in groups:
|
||||
@@ -842,99 +842,38 @@ def weave_layers(
|
||||
log.info(page_num)
|
||||
log.info(layers)
|
||||
|
||||
text = next(ii for ii in layers if ii.endswith('.text.pdf'))
|
||||
image = next(ii for ii in layers if ii.endswith('.image-layer.pdf'))
|
||||
|
||||
text = next(
|
||||
(ii for ii in layers if ii.endswith('.text.pdf')), None
|
||||
)
|
||||
image = next(
|
||||
(ii for ii in layers if ii.endswith('.image-layer.pdf')), None
|
||||
)
|
||||
|
||||
if text and not font:
|
||||
possible_font_names = ('/f-0-0', '/F1')
|
||||
pdf_text = pikepdf.open(text)
|
||||
pdf_text_fonts = pdf_text.pages[0].Resources.Font
|
||||
for f in possible_font_names:
|
||||
pdf_text_font = pdf_text_fonts.get(f, None)
|
||||
if pdf_text_font is not None:
|
||||
font_key = f
|
||||
break
|
||||
font = pdf_base._copy_foreign(pdf_text_font)
|
||||
|
||||
path_image = Path(image).resolve()
|
||||
if path_image == path_base:
|
||||
if not font:
|
||||
pdf_text = pikepdf.open(text)
|
||||
pdf_text_font = pdf_text.pages[0].Resources.Font['/f-0-0']
|
||||
font = pdf_base._copy_foreign(pdf_text_font)
|
||||
_weave_layers_graft(pdf_base, page_num, text, font, log)
|
||||
else:
|
||||
# We are going to replace the old page
|
||||
if path_image != path_base:
|
||||
# We are replacing the old page
|
||||
log.info("Replace")
|
||||
pdf_image = pikepdf.open(image)
|
||||
keep_open.append(pdf_image)
|
||||
image_page = pdf_image.pages[0]
|
||||
pdf_base.pages[page_num - 1] = image_page
|
||||
|
||||
if text:
|
||||
# Graft the text layer onto this page, whether new or old
|
||||
_weave_layers_graft(pdf_base, page_num, text, font, font_key, log)
|
||||
|
||||
pdf_base.save(output_file)
|
||||
|
||||
|
||||
# def combine_layers():
|
||||
# text = next(ii for ii in flatten_groups(infiles)
|
||||
# if ii.endswith('.text.pdf')) # single page PDF from tesseract
|
||||
# image = next(ii for ii in flatten_groups(infiles)
|
||||
# if ii.endswith('.image-layer.pdf')) # single/multipage
|
||||
|
||||
# pdf_text = pypdf.PdfFileReader(text)
|
||||
# pdf_image = pypdf.PdfFileReader(image)
|
||||
|
||||
# page_text = pdf_text.getPage(0)
|
||||
|
||||
# # The text page always will be oriented up by this stage
|
||||
# # but if lossless_reconstruction, pdf_image may have a rotation applied
|
||||
# # We have to eliminate the /Rotate tag (because it applies to the whole
|
||||
# # page) and rotate the image layer to match the text page
|
||||
# # Also, pdf_image may not have its mediabox nailed to (0, 0), so may need
|
||||
# # translation
|
||||
# page_image = pdf_image.getPage(0)
|
||||
# try:
|
||||
# # pypdf DictionaryObject.get() does not resolve indirect objects but
|
||||
# # __getitem__ does
|
||||
# rotation = page_image['/Rotate']
|
||||
# except KeyError:
|
||||
# rotation = 0
|
||||
|
||||
# # /Rotate is a clockwise rotation: 90 means page facing "east"
|
||||
# # The negative of this value is the angle that eliminates that rotation
|
||||
# rotation = -rotation % 360
|
||||
|
||||
# x1 = page_image.mediaBox.getLowerLeft_x()
|
||||
# x2 = page_image.mediaBox.getUpperRight_x()
|
||||
# y1 = page_image.mediaBox.getLowerLeft_y()
|
||||
# y2 = page_image.mediaBox.getUpperRight_y()
|
||||
|
||||
# # Rotation occurs about the page's (0, 0). Most pages will have the media
|
||||
# # box at (0, 0) with all content in the first quadrant but some cropped
|
||||
# # files may have an offset mediabox. We translate the page so that its
|
||||
# # bottom left corner after rotation is pinned to (0, 0) with the image
|
||||
# # in the first quadrant.
|
||||
# if rotation == 0:
|
||||
# tx, ty = -x1, -y1
|
||||
# elif rotation == 90:
|
||||
# tx, ty = y2, -x1
|
||||
# elif rotation == 180:
|
||||
# tx, ty = x2, y2
|
||||
# elif rotation == 270:
|
||||
# tx, ty = -y1, x2
|
||||
# else:
|
||||
# pass
|
||||
|
||||
# if rotation != 0:
|
||||
# log.info("{0:4d}: rotating image layer {1} degrees".format(
|
||||
# page_number(image), rotation))
|
||||
|
||||
# try:
|
||||
# page_text.mergeRotatedScaledTranslatedPage(
|
||||
# page_image, rotation, 1.0, tx, ty, expand=False)
|
||||
# except (AttributeError, ValueError) as e:
|
||||
# if 'writeToStream' in str(e) or 'invalid literal' in str(e):
|
||||
# raise PdfMergeFailedError() from e
|
||||
|
||||
# pdf_output = pypdf.PdfFileWriter()
|
||||
# pdf_output.addPage(page_text)
|
||||
|
||||
# # If the input was scaled, re-apply the scaling
|
||||
# pageinfo = get_pageinfo(text, context)
|
||||
# if pageinfo.userunit != 1:
|
||||
# page_text[pypdf.generic.NameObject('/UserUnit')] = pageinfo.userunit
|
||||
# pdf_output._header = b'%PDF-1.6' # Hack header to correct version
|
||||
|
||||
# with open(output_file, "wb") as out:
|
||||
# pdf_output.write(out)
|
||||
|
||||
|
||||
def ocr_tesseract_textonly_pdf(
|
||||
@@ -1012,18 +951,6 @@ def generate_postscript_stub(
|
||||
generate_pdfa_ps(output_file, pdfmark)
|
||||
|
||||
|
||||
def skip_page(
|
||||
input_file,
|
||||
output_file,
|
||||
log,
|
||||
context):
|
||||
# The purpose of this step is its filter to forward only the skipped
|
||||
# files (.skip.oriented.pdf) while disregarding the processed ones
|
||||
# (.ocr.oriented.pdf). Alternative would be for merge_pages to filter
|
||||
# pages itself if it gets multiple copies of a page.
|
||||
re_symlink(input_file, output_file, log)
|
||||
|
||||
|
||||
def metadata_fixup(
|
||||
input_files_groups,
|
||||
output_file,
|
||||
@@ -1066,11 +993,6 @@ def merge_pages(
|
||||
if metadata_file in input_files:
|
||||
input_files.remove(metadata_file)
|
||||
|
||||
layers_file = next(
|
||||
(ii for ii in input_files if ii.endswith('layers.rendered.pdf')), None)
|
||||
if layers_file in input_files:
|
||||
input_files.remove(layers_file)
|
||||
|
||||
def input_file_order(s):
|
||||
'''Sort order: All rendered pages followed
|
||||
by their debug page, if any, followed by Postscript stub.
|
||||
@@ -1338,7 +1260,6 @@ def build_pipeline(options, work_folder, log, context):
|
||||
output=os.path.join(work_folder, r"\1.ocr.png"),
|
||||
extras=[log, context])
|
||||
|
||||
|
||||
# HOCR OCR
|
||||
task_ocr_tesseract_hocr = main_pipeline.transform(
|
||||
task_func=ocr_tesseract_hocr,
|
||||
@@ -1423,15 +1344,6 @@ def build_pipeline(options, work_folder, log, context):
|
||||
extras=[log, context])
|
||||
task_generate_postscript_stub.active_if(options.output_type.startswith('pdfa'))
|
||||
|
||||
# Bypass valve
|
||||
task_skip_page = main_pipeline.transform(
|
||||
task_func=skip_page,
|
||||
input=task_orient_page,
|
||||
filter=suffix('.skip.oriented.pdf'),
|
||||
output='.done.pdf',
|
||||
output_dir=work_folder,
|
||||
extras=[log, context])
|
||||
|
||||
task_metadata_fixup = main_pipeline.merge(
|
||||
task_func=metadata_fixup,
|
||||
input=[task_repair_and_parse_pdf,
|
||||
@@ -1442,17 +1354,6 @@ def build_pipeline(options, work_folder, log, context):
|
||||
extras=[log, context]
|
||||
)
|
||||
|
||||
# Merge pages
|
||||
task_merge_pages = main_pipeline.merge(
|
||||
task_func=merge_pages,
|
||||
input=[task_repair_and_parse_pdf,
|
||||
task_render_hocr_debug_page,
|
||||
task_skip_page,
|
||||
task_generate_postscript_stub],
|
||||
output=os.path.join(work_folder, 'merged.pdf'),
|
||||
extras=[log, context])
|
||||
task_merge_pages.active_if(options.pdf_renderer == 'tesseract')
|
||||
|
||||
task_merge_sidecars = main_pipeline.merge(
|
||||
task_func=merge_sidecars,
|
||||
input=[task_ocr_tesseract_hocr,
|
||||
@@ -1464,6 +1365,6 @@ def build_pipeline(options, work_folder, log, context):
|
||||
# Finalize
|
||||
main_pipeline.merge(
|
||||
task_func=copy_final,
|
||||
input=[task_metadata_fixup, task_merge_pages],
|
||||
input=[task_metadata_fixup],
|
||||
output=options.output_file,
|
||||
extras=[log, context])
|
||||
|
||||
Reference in New Issue
Block a user