Создайте файл PDF с изображениями в WinRT

Как я могу создавать файлы PDF из списка изображений в WinRT. Я нашел нечто подобное для Windows Phone 8 здесь ("Converting-list-of-images-to-pdf-in-windows-phone-8"> список изображений в pdf в Windows Phone 8") Но я ищу решение для Windows 8. Если кто-то знает об этом, поделитесь со мной своими мыслями.


person StezPet    schedule 21.03.2013    source источник


Ответы (4)


Попробуйте http://jspdf.com/

Это должно работать на WinJS, но я не проверял. В приложении XAML вы можете попытаться разместить элемент управления веб-браузера со страницей с поддержкой jsPDF.

person robertos    schedule 26.03.2013

ComponentOne теперь выпустила ту же библиотеку PDF, что и в Windows Phone для среды выполнения Windows. Хотя это не с открытым исходным кодом, конечно.

person vanslyker    schedule 26.03.2013

Для этой задачи можно использовать Amyuni PDF Creator for WinRT (коммерческая библиотека). Вы можете создать новый PDF-файл, создав новый экземпляр класса AmyuniPDFCreator.IacDocument, а затем добавить новые страницы с помощью метода AddPage и добавьте изображения на каждую страницу, используя метод IacPage.CreateObject.

Код на C# для добавления картинки на страницу будет выглядеть так:

public IacDocument CreatePDFFromImage()
{
    IacDocument pdfDoc = new IacDocument();
    // Set the license key
    pdfDoc.SetLicenseKey("Amyuni Tech.", "07EFCD0...C4FB9CFD");
    IacPage targetPage = pdfDoc.GetPage(1); // A new document will always be created with an empty page

    // Adding a picture to the current page
    using (Stream imgStrm = await Windows.ApplicationModel.Package.Current.InstalledLocation.OpenStreamForReadAsync("pdfcreatorwinrt.png"))
    {
        IacObject oPic = page.CreateObject(IacObjectType.acObjectTypePicture, "MyPngPicture");
        BinaryReader binReader = new BinaryReader(imgStrm);
        byte[] imgData = binReader.ReadBytes((int)imgStrm.Length);
        // The "ImageFileData" attribute has not been added yet to the online documentation
        oPic.AttributeByName("ImageFileData").Value = imgData;
        oPic.Coordinates = new Rect(100, 2000, 1200, 2000);
    }
    return pdfDoc;
}

Отказ от ответственности: в настоящее время я работаю разработчиком библиотеки

В качестве альтернативы с открытым исходным кодом вам может быть лучше полагаться на веб-службу, которая создает PDF-файл, используя одну из множества доступных библиотек с открытым исходным кодом.

person yms    schedule 03.04.2013

Я думаю, это может помочь вам, если вы хотите преобразовать файл изображения (.jpg) в файл PDF. Он работает в моей лаборатории.

string source = "image.jpg";
  string destinaton = "image.pdf";

  PdfDocument doc = new PdfDocument();
  doc.Pages.Add(new PdfPage());
  XGraphics xgr = XGraphics.FromPdfPage(doc.Pages[0]);
  XImage img = XImage.FromFile(source);
  xgr.DrawImage(img, 0, 0);
  doc.Save(destinaton);
  doc.Close();

Спасибо.

person VishwajeetMCA    schedule 14.02.2014
comment
Этот ответ неверен. Хотя это не упоминается явно, этот ответ основан на внешней библиотеке PDFSharp, которая несовместима с приложениями Магазина Windows (WinRT). - person yms; 21.01.2015