Getting the embedded file out should not be a problem at all. This is not dependent on it being .pdf format, and you can just look for a separate solution there.
For display, unless you know Acrobat or similar is installed (well, even Edge can open those files nowadays), or if you want to display the file embedded in a WinForms application, there is
Codeproject Solution
https://www.codeproject.com/Articles/37458/PDF-Viewer-Control-Without-Acrobat-Reader-Installe
written in VB relying on lots of (partially commercial, if your solution is commercial) libraries.
PdfiumViewer
https://github.com/pvginkel/PdfiumViewer
is great and also available via 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.
It is an all-in-one solution for display and comes with a friendlier Apache 2.0 license.
edit, added sample code, for your convenience :) I included the following
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();
}
This generates a form on the fly, of course you could also use the designer.