Вывод встроенного файла не должен быть проблемой вообще. Это не зависит от того, что это формат .pdf, и вы можете просто найти там отдельное решение.
Для отображения, если вы не знаете, что установлен Acrobat или аналогичный (ну, даже Edge может открывать эти файлы в настоящее время), или если вы хотите отобразить файл, встроенный в приложение WinForms, есть
Решение Codeproject
https://www.codeproject.com/Articles/37458/PDF-Viewer-Control-Without-Acrobat-Reader-Installe
написано на VB с использованием множества (частично коммерческих, если ваше решение коммерческое) библиотек.
PdfiumViewer
https://github.com/pvginkel/PdfiumViewer
великолепен и также доступен через NuGet.
The PdfiumViewer library primarily consists out of three components:
•The PdfViewer control. This control provides a host for the PdfRenderer control and has a default toolbar with limited functionality;
•The PdfRenderer control. This control implements the raw PDF renderer. This control displays a PDF document, provides zooming and scrolling functionality and exposes methods to perform more advanced actions;
•The PdfDocument class provides access to the PDF document and wraps the Pdfium library.
Это универсальное решение для отображения и поставляется с более дружественной лицензией Apache 2.0.
редактировать, добавлен пример кода , для вашего удобства :) Я включил следующее
data = File.ReadAllBytes(@"C:\temp\abc.pdf");
PdfiumViewer.PdfDocument doc;
using (Stream stream = new MemoryStream(data))
{
doc = PdfiumViewer.PdfDocument.Load(stream);
var viewer = new PdfiumViewer.PdfViewer();
viewer.Document = doc;
var form = new System.Windows.Forms.Form();
form.Size = new Size(600, 800);
viewer.Dock = System.Windows.Forms.DockStyle.Fill;
form.Controls.Add(viewer);
form.ShowDialog();
}
Это создает форму на лету, конечно, вы также можете использовать конструктор.