{"id":23066085,"url":"https://github.com/gil9red/compress_image_fb2","last_synced_at":"2025-08-15T11:32:40.223Z","repository":{"id":45334975,"uuid":"44928062","full_name":"gil9red/compress_image_fb2","owner":"gil9red","description":"Скрипт для сжатия изображений в файле fb2.","archived":false,"fork":false,"pushed_at":"2023-05-25T13:24:05.000Z","size":8311,"stargazers_count":3,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-08-11T16:26:59.369Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gil9red.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-10-25T20:22:36.000Z","updated_at":"2022-10-12T00:33:45.000Z","dependencies_parsed_at":"2022-09-22T21:51:35.357Z","dependency_job_id":null,"html_url":"https://github.com/gil9red/compress_image_fb2","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gil9red%2Fcompress_image_fb2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gil9red%2Fcompress_image_fb2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gil9red%2Fcompress_image_fb2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gil9red%2Fcompress_image_fb2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gil9red","download_url":"https://codeload.github.com/gil9red/compress_image_fb2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229911005,"owners_count":18143229,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-16T05:11:07.519Z","updated_at":"2025-08-15T11:32:40.212Z","avatar_url":"https://github.com/gil9red.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# compress_image_fb2\nСкрипт для сжатия изображений в файле FB2.\n\n## Аргументы\n\n``` commandline\n\u003e python compress_image_fb2.py --help \nUsage: compress_image_fb2.py [OPTIONS] FB2_FILE_NAME\n\n  Функция сжимает изображения в файле FB2 и сохраняет копию с сжатыми\n  картинками в папке с скриптом.\n\nOptions:\n  --output_dir PATH               Папка для вывода сжатого файла. Если не\n                                  указывать, то используется папка файла FB2\n  --pattern_output_file_name TEXT\n                                  Шаблон имени сжатого FB2  [default:\n                                  {path.stem}_compress{path.suffix}]\n  --used_strategies [StrategyCompressImage1|StrategyCompressImage2|StrategyCompressImage3]\n                                  Используемые стратегии сжатия картинок\n  --max_width INTEGER             Максимальная ширина картинки. Если больше,\n                                  то будет уменьшена с сохранением пропорций\n  --max_height INTEGER            Максимальная высота картинки. Если больше,\n                                  то будет уменьшена с сохранением пропорций\n  --is_extract_images BOOLEAN     Вывод оригинальных и сжатых изображений в\n                                  папку по имени файла  [default: False]\n  --is_log BOOLEAN                Вывод информации по сжатию файла  [default:\n                                  True]\n  --is_log_diff_equals BOOLEAN    Вывод неизмененных полей картинки после\n                                  сжатия  [default: True]\n  --help                          Show this message and exit.\n```\n\n## Без опций\n``` commandline\n\u003e python compress_image_fb2.py examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 86.92%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.06%\n            StrategyCompressImage2: 63.47%\n            StrategyCompressImage3: 86.92%\n            MAX (StrategyCompressImage3): 86.92%\n        PNG -\u003e JPEG\n        RGB = RGB\n        1.0 MB -\u003e 134.8 KB\n        693x1024 = 693x1024\n\n    2. MKnR_v01_09.png. Сжатие: 68.85%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.43%\n            StrategyCompressImage2: -23.12%\n            StrategyCompressImage3: 68.85%\n            MAX (StrategyCompressImage3): 68.85%\n        PNG -\u003e JPEG\n        L = L\n        622.6 KB -\u003e 194.0 KB\n        1187x1754 = 1187x1754\n\n    3. MKnR_v01_10.png. Сжатие: 76.81%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -3.42%\n            StrategyCompressImage2: -34.50%\n            StrategyCompressImage3: 76.81%\n            MAX (StrategyCompressImage3): 76.81%\n        PNG -\u003e JPEG\n        L = L\n        665.4 KB -\u003e 154.3 KB\n        1173x1759 = 1173x1759\n\n    4. MKnR_v01_11.png. Сжатие: 77.82%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -3.20%\n            StrategyCompressImage2: -32.87%\n            StrategyCompressImage3: 77.82%\n            MAX (StrategyCompressImage3): 77.82%\n        PNG -\u003e JPEG\n        L = L\n        706.2 KB -\u003e 156.7 KB\n        1178x1754 = 1178x1754\n\n    5. MKnR_v01_12.png. Сжатие: 84.26%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -4.52%\n            StrategyCompressImage2: -37.56%\n            StrategyCompressImage3: 84.26%\n            MAX (StrategyCompressImage3): 84.26%\n        PNG -\u003e JPEG\n        L = L\n        824.9 KB -\u003e 129.8 KB\n        1172x1747 = 1172x1747\n\n    6. MKnR_v01_13.png. Сжатие: 77.02%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -3.50%\n            StrategyCompressImage2: -35.73%\n            StrategyCompressImage3: 77.02%\n            MAX (StrategyCompressImage3): 77.02%\n        PNG -\u003e JPEG\n        L = L\n        793.7 KB -\u003e 182.4 KB\n        1199x1762 = 1199x1762\n\n    7. MKnR_v01_14.png. Сжатие: 72.08%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.72%\n            StrategyCompressImage2: -26.23%\n            StrategyCompressImage3: 72.08%\n            MAX (StrategyCompressImage3): 72.08%\n        PNG -\u003e JPEG\n        L = L\n        737.3 KB -\u003e 205.8 KB\n        1175x1767 = 1175x1767\n\n    8. MKnR_v01_15.png. Сжатие: 70.82%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.77%\n            StrategyCompressImage2: -26.57%\n            StrategyCompressImage3: 70.82%\n            MAX (StrategyCompressImage3): 70.82%\n        PNG -\u003e JPEG\n        L = L\n        591.4 KB -\u003e 172.6 KB\n        1195x1766 = 1195x1766\n\n    9. MKnR_v01_16.png. Сжатие: 74.57%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.96%\n            StrategyCompressImage2: -22.24%\n            StrategyCompressImage3: 74.57%\n            MAX (StrategyCompressImage3): 74.57%\n        PNG -\u003e JPEG\n        L = L\n        824.8 KB -\u003e 209.8 KB\n        1195x1766 = 1195x1766\n\n    10. MKnR_v01_17.png. Сжатие: 80.46%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -6.78%\n            StrategyCompressImage2: -29.34%\n            StrategyCompressImage3: 80.46%\n            MAX (StrategyCompressImage3): 80.46%\n        PNG -\u003e JPEG\n        L = L\n        624.4 KB -\u003e 122.0 KB\n        1166x1759 = 1166x1759\n\n    11. MKnR_v01_18.png. Сжатие: 79.65%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.48%\n            StrategyCompressImage2: -41.96%\n            StrategyCompressImage3: 79.65%\n            MAX (StrategyCompressImage3): 79.65%\n        PNG -\u003e JPEG\n        L = L\n        770.2 KB -\u003e 156.7 KB\n        1172x1763 = 1172x1763\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 2.9 MB (сжатие 74.07%)\nОбщий размер картинок: 2.4 MB (81.30%, сжатие 77.80%)\nОстальное: 557.8 KB (18.70%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1_compress.fb2 \n\nЗавершено за 8.012 сек.\n```\n\n## Изменение папки выгрузки\n``` commandline\n\u003e python compress_image_fb2.py --output_dir=\"C:/Users/ipetrash/PycharmProjects/compress image fb2/output/2025-03-17\" examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 86.92%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.06%\n            StrategyCompressImage2: 63.47%\n            StrategyCompressImage3: 86.92%\n            MAX (StrategyCompressImage3): 86.92%\n        PNG -\u003e JPEG\n        RGB = RGB\n        1.0 MB -\u003e 134.8 KB\n        693x1024 = 693x1024\n    \n    ...\n    \n    11. MKnR_v01_18.png. Сжатие: 79.65%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.48%\n            StrategyCompressImage2: -41.96%\n            StrategyCompressImage3: 79.65%\n            MAX (StrategyCompressImage3): 79.65%\n        PNG -\u003e JPEG\n        L = L\n        770.2 KB -\u003e 156.7 KB\n        1172x1763 = 1172x1763\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 2.9 MB (сжатие 74.07%)\nОбщий размер картинок: 2.4 MB (81.30%, сжатие 77.80%)\nОстальное: 557.8 KB (18.70%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\output\\2025-03-17\\mknr_1_compress.fb2 \n\nЗавершено за 8.216 сек.\n```\n\n## Выгрузка картинок\n``` commandline\n\u003e python compress_image_fb2.py --is_extract_images=true examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 86.92%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.06%\n            StrategyCompressImage2: 63.47%\n            StrategyCompressImage3: 86.92%\n            MAX (StrategyCompressImage3): 86.92%\n        PNG -\u003e JPEG\n        RGB = RGB\n        1.0 MB -\u003e 134.8 KB\n        693x1024 = 693x1024\n        Сохранение оригинала в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1.fb2-images\\MKnR_v01_a.png\n        Сохранение сжатой в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1.fb2-images\\MKnR_v01_a_compressed.jpg\n    \n    ...\n    \n    11. MKnR_v01_18.png. Сжатие: 79.65%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.48%\n            StrategyCompressImage2: -41.96%\n            StrategyCompressImage3: 79.65%\n            MAX (StrategyCompressImage3): 79.65%\n        PNG -\u003e JPEG\n        L = L\n        770.2 KB -\u003e 156.7 KB\n        1172x1763 = 1172x1763\n        Сохранение оригинала в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1.fb2-images\\MKnR_v01_18.png\n        Сохранение сжатой в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1.fb2-images\\MKnR_v01_18_compressed.jpg\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 2.9 MB (сжатие 74.07%)\nОбщий размер картинок: 2.4 MB (81.30%, сжатие 77.80%)\nОстальное: 557.8 KB (18.70%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1_compress.fb2 \n\nЗавершено за 8.201 сек.\n```\n\n### Изменение папки выгрузки\n``` commandline\n\u003e python compress_image_fb2.py --is_extract_images=true \"--output_dir=C:/Users/ipetrash/PycharmProjects/compress image fb2/output/2025-03-17\" examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 86.92%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.06%\n            StrategyCompressImage2: 63.47%\n            StrategyCompressImage3: 86.92%\n            MAX (StrategyCompressImage3): 86.92%\n        PNG -\u003e JPEG\n        RGB = RGB\n        1.0 MB -\u003e 134.8 KB\n        693x1024 = 693x1024\n        Сохранение оригинала в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\output\\2025-03-17\\mknr_1.fb2-images\\MKnR_v01_a.png\n        Сохранение сжатой в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\output\\2025-03-17\\mknr_1.fb2-images\\MKnR_v01_a_compressed.jpg\n    \n    ...\n    \n    11. MKnR_v01_18.png. Сжатие: 79.65%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.48%\n            StrategyCompressImage2: -41.96%\n            StrategyCompressImage3: 79.65%\n            MAX (StrategyCompressImage3): 79.65%\n        PNG -\u003e JPEG\n        L = L\n        770.2 KB -\u003e 156.7 KB\n        1172x1763 = 1172x1763\n        Сохранение оригинала в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\output\\2025-03-17\\mknr_1.fb2-images\\MKnR_v01_18.png\n        Сохранение сжатой в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\output\\2025-03-17\\mknr_1.fb2-images\\MKnR_v01_18_compressed.jpg\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 2.9 MB (сжатие 74.07%)\nОбщий размер картинок: 2.4 MB (81.30%, сжатие 77.80%)\nОстальное: 557.8 KB (18.70%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\output\\2025-03-17\\mknr_1_compress.fb2 \n\nЗавершено за 8.117 сек.\n```\n\n## Изменение размера картинок\n### Максимальная ширина\n``` commandline\n\u003e python compress_image_fb2.py --max_width=600 examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 89.72%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.06%\n            StrategyCompressImage2: 63.47%\n            StrategyCompressImage3: 86.92%\n            MAX (StrategyCompressImage3): 86.92%\n        PNG -\u003e JPEG\n        RGB = RGB\n        1.0 MB -\u003e 105.9 KB\n        693x1024 -\u003e 600x886\n    \n    ...\n    \n    11. MKnR_v01_18.png. Сжатие: 91.75%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.48%\n            StrategyCompressImage2: -41.96%\n            StrategyCompressImage3: 79.65%\n            MAX (StrategyCompressImage3): 79.65%\n        PNG -\u003e JPEG\n        L = L\n        770.2 KB -\u003e 63.5 KB\n        1172x1763 -\u003e 600x902\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 1.6 MB (сжатие 86.07%)\nОбщий размер картинок: 1.0 MB (65.19%, сжатие 90.43%)\nОстальное: 557.8 KB (34.81%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1_compress.fb2 \n\nЗавершено за 8.341 сек.\n```\n\n### Максимальная высота\n``` commandline\n\u003e python compress_image_fb2.py --max_height=600 examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 94.50%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.06%\n            StrategyCompressImage2: 63.47%\n            StrategyCompressImage3: 86.92%\n            MAX (StrategyCompressImage3): 86.92%\n        PNG -\u003e JPEG\n        RGB = RGB\n        1.0 MB -\u003e 56.7 KB\n        693x1024 -\u003e 406x600\n    \n    ...\n\n    11. MKnR_v01_18.png. Сжатие: 95.33%\n        Использованные стратегии (3):\n            StrategyCompressImage1: -2.48%\n            StrategyCompressImage2: -41.96%\n            StrategyCompressImage3: 79.65%\n            MAX (StrategyCompressImage3): 79.65%\n        PNG -\u003e JPEG\n        L = L\n        770.2 KB -\u003e 36.0 KB\n        1172x1763 -\u003e 398x600\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 1.1 MB (сжатие 90.05%)\nОбщий размер картинок: 586.9 KB (51.27%, сжатие 94.63%)\nОстальное: 557.8 KB (48.73%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1_compress.fb2 \n\nЗавершено за 8.024 сек.\n```\n\n## Изменение используемых стратегий сжатия картинок\n### Одна стратегия\n``` commandline\n\u003e python compress_image_fb2.py --used_strategies=StrategyCompressImage2 examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 63.47%\n        Использованные стратегии (1):\n            StrategyCompressImage2: 63.47%\n            MAX (StrategyCompressImage2): 63.47%\n        PNG = PNG\n        RGB -\u003e P\n        1.0 MB -\u003e 376.3 KB\n        693x1024 = 693x1024\n    \n    ...\n    \n    11. MKnR_v01_18.png. Сжатие: -41.96% - Пропущено\n        Использованные стратегии (1):\n            StrategyCompressImage2: -41.96%\n            MAX (StrategyCompressImage2): -41.96%\n        PNG = PNG\n        L -\u003e P\n        770.2 KB -\u003e 1.1 MB\n        1172x1763 = 1172x1763\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 10.4 MB (сжатие 7.79%)\nОбщий размер картинок: 9.8 MB (94.74%, сжатие 7.98%)\nОстальное: 557.8 KB (5.26%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1_compress.fb2 \n\nЗавершено за 7.120 сек.\n```\n\n### Несколько стратегий\n``` commandline\n\u003e python compress_image_fb2.py --used_strategies=StrategyCompressImage1 --used_strategies=StrategyCompressImage3 examples/mknr_1.fb2 \nexamples\\mknr_1.fb2:\n    1. MKnR_v01_a.png. Сжатие: 86.92%\n        Использованные стратегии (2):\n            StrategyCompressImage1: -2.06%\n            StrategyCompressImage3: 86.92%\n            MAX (StrategyCompressImage3): 86.92%\n        PNG -\u003e JPEG\n        RGB = RGB\n        1.0 MB -\u003e 134.8 KB\n        693x1024 = 693x1024\n    \n    ...\n\n    11. MKnR_v01_18.png. Сжатие: 79.65%\n        Использованные стратегии (2):\n            StrategyCompressImage1: -2.48%\n            StrategyCompressImage3: 79.65%\n            MAX (StrategyCompressImage3): 79.65%\n        PNG -\u003e JPEG\n        L = L\n        770.2 KB -\u003e 156.7 KB\n        1172x1763 = 1172x1763\n\n\nОригинальный размер FB2: 11.2 MB\nОбщий размер картинок: 10.7 MB (94.94%)\nОстальное: 582.1 KB (5.06%)\n\nFB2 с сжатием: 2.9 MB (сжатие 74.07%)\nОбщий размер картинок: 2.4 MB (81.30%, сжатие 77.80%)\nОстальное: 557.8 KB (18.70%, сжатие 4.17%)\n\nСжатый FB2 сохранен в: C:\\Users\\ipetrash\\PycharmProjects\\compress image fb2\\examples\\mknr_1_compress.fb2 \n\nЗавершено за 1.060 сек.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgil9red%2Fcompress_image_fb2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgil9red%2Fcompress_image_fb2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgil9red%2Fcompress_image_fb2/lists"}