C++ 응용 프로그램 내부에 MHTML에서 XAML로의 변환 기능을 통합하기 위해 추가하려는 C++ 개발자입니까? 간단한 두 단계로 수행할 수 있습니다. Aspose.PDF for C++ 를 사용하여 MHTML을 PPTX로 내보낼 수 있습니다. 둘째, Aspose.Slides for C++ 를 사용하여 PPTX를 XAML로 변환할 수 있습니다. 두 API 모두 C++용 Aspose.Total 패키지에 있습니다.
MHTML을 XAML로 내보내기 위한 C++ API
- Document 클래스 참조를 사용하여 MHTML 파일 열기
- Save 메서드 함수를 사용하여 MHTML을 PPTX로 변환
- Presentation 클래스 참조를 사용하여 PPTX 문서 로드
- Save 멤버 함수를 사용하여 문서를 XAML 형식으로 저장하고 ‘Xaml’를 SaveFormat으로 설정합니다.
변환 요구 사항
명령줄에서 nuget install Aspose.Total.Cpp
로 설치하거나 Visual Studio의 패키지 관리자 콘솔을 통해 Install-Package Aspose.Total.Cpp
로 설치합니다.
또는 downloads 에서 ZIP 파일의 오프라인 MSI 설치 프로그램 또는 DLL을 가져옵니다.
// load MHTML file with an instance of Document class
auto doc = MakeObject<Document>(u"template.mhtml");
// save MHTML as PPTX format
doc->Save(u"PptxOutput.pptx", SaveFormat::Pptx);
// instantiate a Presentation object that represents a PPTX file
SharedPtr<Presentation> prs = MakeObject<Presentation>(u"PptxOutput.pptx");
// save the presentation as Xaml format
prs->Save(u"output.xaml", Aspose::Slides::Export::SaveFormat::Xaml);
C++를 통해 MHTML 문서의 비밀번호 변경
MHTML을 XAML로 렌더링하는 과정에서 암호로 보호된 MHTML을 열고 암호를 변경할 수도 있습니다. MHTML 파일의 비밀번호를 변경하려면 해당 문서의 소유자 비밀번호를 알아야 합니다. 소유자 암호를 지정하여 Aspose.PDF for C++ 로 암호로 보호된 PDF 문서를 로드하고 ChangePasswords 메서드를 사용하여 암호를 변경할 수 있습니다.
// load an existing MHTML Document
auto doc = MakeObject<Document>(L"input.mhtml", L"owner");
// change password of MHTML Document
doc->ChangePasswords(L"owner", L"newuser", L"newuser");
// save the document
doc->Save(L"output.Doc");
C++를 통해 웹에서 XAML 파일의 이미지 추가
MHTML을 XAML로 변환한 후 웹에서 출력 문서로 이미지를 추가할 수도 있습니다. C++용 Aspose.Slides 는 JPEG, PNG, BMP, GIF 등 널리 사용되는 형식의 이미지 작업을 지원합니다. 컴퓨터에 있는 하나 이상의 이미지를 프레젠테이션의 슬라이드에 추가할 수 있습니다. C++의 이 샘플 코드는 XAML 파일에 이미지를 추가하는 방법을 보여줍니다.
// instantiate a Presentation object that represents a XAML file
auto pres = System::MakeObject<Presentation>("output.xaml");
// get slide
auto slide = pres->get_Slides()->idx_get(0);
// initialize Web Client
auto webClient = System::MakeObject<WebClient>();
// get image data
auto imageData = webClient->DownloadData(System::MakeObject<Uri>(u"[REPLACE WITH URL]"));
// add image
auto image = pres->get_Images()->AddImage(imageData);
// add picture frame
slide->get_Shapes()->AddPictureFrame(ShapeType::Rectangle, 10.0f, 10.0f, 100.0f, 100.0f, image);
// save updated file
pres->Save(u"updated.xaml", SaveFormat::Xaml);
C++ 로 MHTML 변환 옵션 탐색
MHTML 파일 형식이란 무엇입니까?
MIME HTML의 줄임말인 MHTML은 HTML 코드와 관련 리소스를 단일 파일로 결합한 파일 형식입니다. Multipurpose Internet Mail Extension HTML의 약자입니다. MHTML 파일은 일반적으로 이미지, CSS 스타일시트 및 JavaScript와 같은 모든 콘텐츠를 포함하여 웹 페이지를 단일 파일로 저장하는 데 사용됩니다.
MHTML 파일은 사용자가 웹 페이지를 오프라인으로 저장할 때 웹 브라우저에서 생성되는 경우가 많습니다. 보기 또는 보관 목적. MHTML은 필요한 모든 리소스를 하나의 파일로 묶음으로써 인터넷 연결이나 원래 서버에 대한 액세스 없이도 웹 페이지를 보고 정확하게 렌더링할 수 있도록 합니다.
MHTML 형식은 MIME 표준을 따릅니다. 인터넷을 통해 다양한 유형의 데이터를 인코딩하고 교환하는 데 사용됩니다. 멀티파트 MIME 인코딩을 사용하여 HTML 코드 및 관련 리소스를 단일 파일로 패키징합니다. 파일은 일반적으로 .mht 또는 .mhtml 파일 확장자를 갖습니다.
MHTML 파일은 Internet Explorer, Microsoft Edge 및 Opera와 같은 형식을 지원하는 웹 브라우저에서 열고 볼 수 있습니다. 일부 텍스트 편집기 및 전문 소프트웨어는 MHTML 파일을 열고 편집할 수 있는 기능도 제공합니다.
MHTML 형식은 사용자가 웹 페이지를 단일 파일로 저장하고 공유할 수 있으므로 휴대성과 편의성 측면에서 이점이 있습니다. 페이지의 레이아웃, 서식 및 연결된 리소스를 보존합니다. 그러나 MHTML은 HTML이나 PDF와 같은 다른 웹 형식만큼 널리 사용되지 않으며 호환성은 소프트웨어와 플랫폼에 따라 다를 수 있습니다.
XAML 파일 형식이란 무엇입니까?
XAML(Extensible Application Markup Language)은 개체를 초기화하고 구조화된 값을 정의하기 위해 Microsoft에서 개발한 XML 기반 언어입니다. 고급 사용자 인터페이스를 설계하고 구축하기 위해 Microsoft의 WPF(Windows Presentation Foundation) 기술에서 광범위하게 사용됩니다.
XAML을 사용하면 버튼, 텍스트와 같은 사용자 인터페이스 요소를 포함하여 다양한 개체를 생성할 수 있습니다. 상자 및 미디어 요소. 또한 브러시 및 형상과 같은 비사용자 인터페이스 개체도 XAML을 사용하여 정의할 수 있습니다.
일반적으로 XAML은 XAML 프로세서에서 실행할 수 있는 이진 형식으로 컴파일됩니다. XAML 프로세서는 Microsoft의 Expression Blend 도구와 같은 독립 실행형 응용 프로그램이거나 Microsoft의 Visual Studio IDE와 같은 다른 응용 프로그램에 통합될 수 있습니다. WPF와 함께 사용하는 경우 XAML 파일은 일반적으로 BAML(Binary Application Markup Language)이라는 이진 형식으로 컴파일됩니다. BAML은 XAML 기반 사용자 인터페이스 요소를 저장하고 처리하기 위한 보다 효율적인 형식입니다.
XAML 파일은 종종 이진 형식으로 컴파일되지만 XML(Extensible Markup Language)을 사용하여 텍스트 기반 형식으로 저장할 수도 있습니다. ). XML 기반 XAML 파일은 XML의 유연성으로 인해 모든 텍스트 편집기를 사용하여 편집할 수 있습니다. 그러나 XML 기반 XAML 파일은 크기가 더 큰 경향이 있으며 해당 바이너리에 비해 처리 시간이 더 오래 걸릴 수 있습니다.