My C# project targets net6.0-windows and enables windows forms:
<PropertyGroup>
<TargetFramework>net6.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<UseWindowsForms>true</UseWindowsForms>
<Nullable>enable</Nullable>
</PropertyGroup>
In the code, I want to create PDF documents dynamically and show them by using the PdfViewer component.
Thus, I added the following references:
<PackageReference Include="Telerik.Documents.Core" Version="2023.3.1106" />
<PackageReference Include="Telerik.Documents.Fixed" Version="2023.3.1106" />
<PackageReference Include="Telerik.Documents.Flow" Version="2023.3.1106" />
<PackageReference Include="Telerik.Documents.Flow.FormatProviders.Pdf" Version="2023.3.1106" />
<PackageReference Include="Telerik.Zip" Version="2023.3.1106" />
<PackageReference Include="UI.for.WinForms.AllControls.Net60" Version="2023.3.1114" />
Here is a part of my code:
internal class GenericPdfCombiner : IPdfCombiner
{
public RadFixedDocument Combine(List<string> fileNames)
{
using MemoryStream stream = new MemoryStream();
using (PdfStreamWriter fileWriter = new PdfStreamWriter(stream, leaveStreamOpen: true))
{
for (var fi = 0; fi < fileNames.Count; fi++)
{
var file = fileNames[fi];
using PdfFileSource fileSource = new PdfFileSource(new MemoryStream(File.ReadAllBytes(file)));
for (var p = 0; p < fileSource.Pages.Length; p++)
{
PdfPageSource sourcePage = fileSource.Pages[p];
using PdfPageStreamWriter resultPage = fileWriter.BeginPage(sourcePage.Size);
resultPage.WriteContent(sourcePage);
}
}
}
PdfFormatProvider provider = new PdfFormatProvider();
return provider.Import(stream);
}
}
but it shows the error Reference to type 'Size' claims it is defined in 'WindowsBase', but it could not be found on the lines like the following:
using PdfPageStreamWriter resultPage = fileWriter.BeginPage(sourcePage.Size);
How can I fix it?