Sử dụng Python để chuyển đổi hình ảnh từ APNG sang PDF
Tạo ứng dụng Python để chuyển đổi hình ảnh và ảnh APNG sang PDF thông qua API máy chủ
Cách chuyển đổi hình ảnh và ảnh từ APNG sang PDF bằng Python
Chuyển đổi tập tin hình ảnh từ định dạng này sang định dạng khác là một nhiệm vụ phổ biến mà mọi nhà thiết kế đồ họa đều gặp phải. Hiệu quả và sự xuất sắc trong việc chuyển đổi tệp không chỉ ảnh hưởng đến tốc độ hoàn thành mà còn đóng vai trò quan trọng trong việc đánh giá chất lượng công việc tổng thể. Về nguồn hình ảnh, chúng thường đòi hỏi phải chuyển đổi sang các định dạng thay thế phù hợp hơn cho việc in ấn hoặc phân phối trực tuyến. Hình ảnh được tạo bằng trình chỉnh sửa đồ họa có thể ở định dạng vector. Trong những trường hợp như vậy, để xuất bản trang web, nó phải trải qua quá trình rasterization và được lưu ở định dạng raster. Bạn có tùy chọn chuyển đổi hình ảnh ở định dạng không nén để có chất lượng vượt trội hoặc lưu nó sang định dạng nén không mất dữ liệu để giảm thiểu kích thước tệp. Đối với các trường hợp bắt buộc phải giảm kích thước tệp, như trong ứng dụng trang web, có khả năng chuyển đổi sang định dạng nén bị mất dữ liệu. Các thuật toán nén dữ liệu chuyên dụng cho hình ảnh có thể giảm đáng kể kích thước tệp trong khi vẫn duy trì chất lượng hình ảnh ở mức chấp nhận được, đảm bảo tải hình ảnh nhanh chóng. Để chuyển đổi hình ảnh và ảnh từ APNG sang PDF, chúng tôi sẽ sử dụng Aspose.Imaging for Python via .NET API là API chuyển đổi và thao tác hình ảnh giàu tính năng, mạnh mẽ và dễ sử dụng cho nền tảng Python. Bạn có thể cài đặt nó bằng lệnh sau từ lệnh hệ thống của mình.
Dòng lệnh hệ thống
>> pip install aspose-imaging-python-net
Các bước chuyển đổi APNG thành PDF qua Python
Các nhà phát triển có thể dễ dàng tải và chuyển đổi tệp APNG sang PDF chỉ trong một vài dòng mã.
- Tải tệp APNG bằng phương thức Image.Load
- Tạo và đặt phiên bản của lớp con bắt buộc của ImageOptionsBase (ví dụ: BmpOptions, PngOptions, v.v.)
- Gọi phương thức Image.Save
- Chuyển đường dẫn tệp có phần mở rộng PDF & đối tượng của lớp ImageOptionsBase
yêu cầu hệ thống
Trước khi chạy mã ví dụ chuyển đổi, hãy đảm bảo rằng bạn có các điều kiện tiên quyết sau.
- Hệ điều hành: Windows hoặc Linux.
- Môi trường phát triển: Hỗ trợ .NET Core 7 trở lên như Microsoft Visual Studio.
Ứng dụng miễn phí để chuyển đổi APNG thành PDF
- Chọn hoặc kéo và thả hình ảnh APNG
- Chọn định dạng và nhấp vào nút Chuyển đổi
- Nhấp vào nút Tải xuống để tải xuống hình ảnh PDF
Kiểm tra bản trình diễn trực tiếp của chúng tôi để chuyển đổi APNG thành PDF
Chuyển đổi APNG thành PDF - 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() |
APNG Những gì là APNG Định dạng tệp
Tệp có phần mở rộng .apng (Animated Portable Network Graphics) là định dạng đồ họa raster và là phần mở rộng không chính thức của Đồ họa Mạng Di động (PNG). Nó bao gồm nhiều khung hình (mỗi hình ảnh PNG) đại diện cho một chuỗi hoạt ảnh. Điều này mang lại hình ảnh tương tự như một tệp GIF. Các tệp APNG hỗ trợ hình ảnh 24 bit và độ trong suốt 8 bit. APNG tương thích ngược với các tệp GIF không động. Các tệp APNG sử dụng cùng một phần mở rộng .png và có thể được mở bằng các ứng dụng như Mozilla Firefox, Chrome có hỗ trợ APNG, ứng dụng iMessage dành cho iOS 10.
Đọc thêm | APNGPDF Những gì là PDF Định dạng tệp
Định dạng tài liệu di động (PDF) là một loại tài liệu được tạo bởi Adobe vào những năm 1990. Mục đích của định dạng tệp này là giới thiệu một tiêu chuẩn để trình bày tài liệu và tài liệu tham khảo khác ở định dạng độc lập với phần mềm ứng dụng, phần cứng cũng như Hệ điều hành. Định dạng tệp PDF có đầy đủ khả năng chứa thông tin như văn bản, hình ảnh, siêu liên kết, trường biểu mẫu, đa phương tiện, chữ ký số, tệp đính kèm, siêu dữ liệu, các tính năng không gian địa lý và các đối tượng 3D trong đó có thể trở thành một phần của tài liệu nguồn.
Đọc thêm | PDFCác chuyển đổi được hỗ trợ khác
Sử dụng Python, người ta có thể dễ dàng chuyển đổi các định dạng khác nhau bao gồm.