Я использую приложение UWP для создания файла .pdf из файла шаблона .rdlc с компонентами Syncfusion. Я могу сгенерировать PDF-файл из файла шаблона rdlc, но все ссылки в PDF-файле (текст или изображение) не работают. Ссылки работают, если я создаю файл html, но не файл pdf. Вот код:
var pdfFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(String.Concat("Order-", this.Model.SaleReference, ".pdf"), CreationCollisionOption.ReplaceExisting);
using (var stream = await pdfFile.OpenAsync(FileAccessMode.ReadWrite))
{
using (var outstream = stream.AsStreamForWrite())
{
var assembly = typeof(FinalizeViewModel).GetTypeInfo().Assembly;
var reportStream = assembly.GetManifestResourceStream("UWP.OrderModule.Reports.Test.rdlc");
var writer = new ReportWriter(reportStream)
{
ExportMode = Syncfusion.ReportWriter.ExportMode.Local
};
writer.Save(outstream, WriterFormat.PDF);
outstream.Dispose();
}
}
await Windows.System.Launcher.LaunchFileAsync(pdfFile);
Я тоже пробую использовать этот код, но результат тот же:
var file = await ApplicationData.Current.LocalFolder.CreateFileAsync(String.Concat("Order-", this.Model.SaleReference, ".pdf"), CreationCollisionOption.ReplaceExisting);
using (var stream = await WindowsRuntimeStorageExtensions.OpenStreamForWriteAsync(file))
{
var assembly = typeof(FinalizeViewModel).GetTypeInfo().Assembly;
var reportStream = assembly.GetManifestResourceStream("UWP.OrderModule.Reports.Test.rdlc");
var writer = new ReportWriter(reportStream)
{
ReportProcessingMode = Syncfusion.ReportWriter.ProcessingMode.Local,
ExportMode = Syncfusion.ReportWriter.ExportMode.Local
};
writer.Save(stream, WriterFormat.PDF);
}
await Windows.System.Launcher.LaunchFileAsync(pdfFile);
Что не так ? Есть ли проблема в классе ReportWriter (класс Syncfusion.RdllO.RdllOExportEngine)? Спасибо за вашу помощь.