使用 Python 進行 DJVU 到 BMP 影像轉換
建立 Python 應用程式以透過伺服器 API 將 DJVU 轉換為 BMP 圖像和照片
如何使用 Python 將 DJVU 轉換為 BMP 影像和照片
圖像檔案從一種格式轉換為另一種格式是每個圖形設計師遇到的常見任務。文件轉換的效率和卓越性不僅影響完成速度,而且對評估整體工作品質也起著至關重要的作用。關於影像來源,它們經常需要轉換為更適合列印或線上分發的替代格式。在圖形編輯器中製作的圖像可能是向量格式。在這種情況下,為了網站發布,必須對其進行光柵化並以光柵格式保存。您可以選擇將影像轉換為未壓縮格式以獲得卓越的質量,或將其儲存為無損壓縮格式以最小化檔案大小。對於必須減小檔案大小的情況(例如在網站應用程式中),可以轉換為有損壓縮格式。專門的影像資料壓縮演算法可以顯著減小檔案大小,同時保持可接受的影像質量,確保快速影像載入。要將圖像和照片從 DJVU 轉換為 BMP,我們將使用 Aspose.Imaging for Python via .NET API 是一個功能豐富、功能強大且易於使用的圖像處理和轉換 API,適用於 Python 平台。您可以使用系統命令中的以下命令安裝它。
系統命令行
>> pip install aspose-imaging-python-net
通過 Python 將 DJVU 轉換為 BMP 的步驟
開發人員只需幾行代碼即可輕鬆加載 DJVU 文件並將其轉換為 BMP。
- 使用 Image.Load 方法加載 DJVU 文件
- 創建和設置 ImageOptionsBase 所需子類的實例(例如 BmpOptions、PngOptions 等)
- 調用 Image.Save 方法
- 傳遞帶有 BMP 擴展名的文件路徑和 ImageOptionsBase 類的對象
系統要求
在運行轉換示例代碼之前,請確保您具有以下先決條件。
- 作業系統:Windows 或Linux。
- 開發環境:支援.NET Core 7及更高版本,例如Microsoft Visual Studio。
將 DJVU 轉換為 BMP 的免費應用程序
查看我們的 將 DJVU 轉換為 BMP 的現場演示
將 DJVU 轉換為 BMP - Python
from aspose.imaging import * | |
from aspose.imaging.fileformats.tiff.enums import * | |
from aspose.imaging.fileformats.jpeg2000 import * | |
from aspose.imaging.fileformats.png import * | |
from aspose.imaging.imageoptions import * | |
from aspose.pycore import is_assignable | |
import os | |
if 'TEMPLATE_DIR' in os.environ: | |
templates_folder = os.environ['TEMPLATE_DIR'] | |
else: | |
templates_folder = r"C:\Users\USER\Downloads\templates" | |
delete_output = 'SAVE_OUTPUT' not in os.environ | |
data_dir = templates_folder | |
def process_convertion(): | |
import_formats, export_formats = get_available_image_formats() | |
for import_key, import_value in import_formats.items(): | |
format_ext = import_key | |
input_file = os.path.join(templates_folder, f"template.{format_ext}") | |
if not os.path.exists(input_file): | |
continue | |
for export_key, export_value in export_formats.items(): | |
output_file = os.path.join(templates_folder, f"convert-{format_ext}-to-{export_key}.{export_key}") | |
print("Processing conversion:" + output_file) | |
with Image.load(input_file) as image: | |
export_options = export_value.clone() | |
if is_assignable(image, VectorImage): | |
rasterization_options = import_value | |
rasterization_options.page_width = float(image.width) | |
rasterization_options.page_height = float(image.height) | |
export_options.vector_rasterization_options = rasterization_options | |
image.save(output_file, export_options) | |
if delete_output: | |
os.remove(output_file) | |
def get_available_image_formats(): | |
obj_init = Jpeg2000Options() | |
obj_init.codec = Jpeg2000Codec.J2K | |
obj_init2 = Jpeg2000Options() | |
obj_init2.codec = Jpeg2000Codec.JP2 | |
obj_init3 = PngOptions() | |
obj_init3.color_type = PngColorType.TRUECOLOR_WITH_ALPHA | |
obj_init4 = {} | |
obj_init4["bmp"] = BmpOptions() | |
obj_init4["gif"] = GifOptions() | |
obj_init4["dicom"] = DicomOptions() | |
obj_init4["jpg"] = JpegOptions() | |
obj_init4["jpeg"] = JpegOptions() | |
obj_init4["jpeg2000"] = Jpeg2000Options() | |
obj_init4["j2k"] = obj_init | |
obj_init4["jp2"] = obj_init2 | |
obj_init4["png"] = obj_init3 | |
obj_init4["apng"] = ApngOptions() | |
obj_init4["tiff"] = TiffOptions(TiffExpectedFormat.DEFAULT) | |
obj_init4["tif"] = TiffOptions(TiffExpectedFormat.DEFAULT) | |
obj_init4["tga"] = TgaOptions() | |
obj_init4["webp"] = WebPOptions() | |
obj_init4["ico"] = IcoOptions(FileFormat.PNG, 24) | |
raster_formats_that_support_export_and_import = obj_init4 | |
obj_init5 = EmfOptions() | |
obj_init5.compress = True | |
obj_init6 = WmfOptions() | |
obj_init6.compress = True | |
obj_init7 = SvgOptions() | |
obj_init7.compress = True | |
obj_init8 = {} | |
obj_init8["emf"] = (EmfOptions(), EmfRasterizationOptions()) | |
obj_init8["svg"] = (SvgOptions(), SvgRasterizationOptions()) | |
obj_init8["wmf"] = (WmfOptions(), WmfRasterizationOptions()) | |
obj_init8["emz"] = (obj_init5, EmfRasterizationOptions()) | |
obj_init8["wmz"] = (obj_init6, WmfRasterizationOptions()) | |
obj_init8["svgz"] = (obj_init7, SvgRasterizationOptions()) | |
vector_formats_that_support_export_and_import = obj_init8 | |
obj_init9 = DxfOptions() | |
obj_init9.text_as_lines = True | |
obj_init9.convert_text_beziers = True | |
obj_init10 = {} | |
obj_init10["psd"] = PsdOptions() | |
obj_init10["dxf"] = obj_init9 | |
obj_init10["pdf"] = PdfOptions() | |
obj_init10["html"] = Html5CanvasOptions() | |
formats_only_for_export = obj_init10 | |
obj_init11 = {} | |
obj_init11["djvu"] = None | |
obj_init11["dng"] = None | |
obj_init11["dib"] = None | |
formats_only_for_import = obj_init11 | |
obj_init12 = {} | |
obj_init12["eps"] = EpsRasterizationOptions() | |
obj_init12["cdr"] = CdrRasterizationOptions() | |
obj_init12["cmx"] = CmxRasterizationOptions() | |
obj_init12["otg"] = OtgRasterizationOptions() | |
obj_init12["odg"] = OdgRasterizationOptions() | |
vector_formats_only_for_import = obj_init12 | |
# Get total set of formats to what we can export images | |
export_formats = {k: v[0] for k, v in vector_formats_that_support_export_and_import.items()} | |
export_formats.update(formats_only_for_export) | |
export_formats.update(raster_formats_that_support_export_and_import) | |
# Get total set of formats that can be loaded | |
import_formats = {k : VectorRasterizationOptions() for k in formats_only_for_import} | |
import_formats.update(vector_formats_only_for_import) | |
import_formats.update({k : v[1] for k, v in vector_formats_that_support_export_and_import.items()}) | |
return import_formats, export_formats | |
# run | |
process_convertion() |
DJVU 什麼是 DJVU 文件格式
DjVu,發音為 DJVU,是一種圖形文件格式,用於掃描文檔和書籍,尤其是包含文本、繪圖、圖像和照片組合的文檔和書籍。它是由 AT&T 實驗室開發的。它使用多種技術,例如文本和背景圖像的圖像層分離、漸進式加載、算術編碼和雙色調圖像的有損壓縮。由於 DJVU 文件可以包含壓縮但高質量的彩色圖像、照片、文本和繪圖,因此可以保存在更小的空間中,因此它在網絡上用作電子書、手冊、報紙、古代文件等。
閱讀更多 | DJVUBMP 什麼是 BMP 文件格式
擴展名為 .BMP 的文件表示用於存儲位圖數字圖像的位圖圖像文件。這些圖像獨立於圖形適配器,也稱為設備獨立位圖 (DIB) 文件格式。這種獨立性的目的是在 Microsoft Windows 和 Mac 等多個平台上打開文件。 BMP 文件格式可以將數據存儲為單色和具有各種顏色深度的彩色格式的二維數字圖像。
閱讀更多 | BMP其他支持的轉換
使用 Python,可以輕鬆轉換不同的格式,包括。