將WPF轉為PDF
利用第三方外掛PDFSARP
專案截圖
啟動專案,model類準備資料,WPF窗體展示資料,最後利用pdfsharp轉為pdf檔案
namespace Engine { class Program { [STAThread] static void Main(string[] args) { Program p = new Program(); p.start(); } public void start() { PDFSharpTest.MainwindowModel model = new PDFSharpTest.MainwindowModel(); PDFSharpTest.MainWindow window = new PDFSharpTest.MainWindow(model); window.SaveViewContentToPdf(""); } } }
WPF前臺
wpf後臺<Window x:Class="PDFSharpTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Viewbox x:Name="viewbox" Height="37cm" Width="25cm" > <Grid x:Name="printArea" Height="1221" Width="1149" Margin="30,20,0,0" > <Label FontFamily="Calibri" FontSize="11" Content="{Binding Block1lb1}" HorizontalAlignment="Right" x:Name="lb1"></Label> </Grid> </Viewbox> </Grid> </Window>
modelpublic partial class MainWindow : Window { public MainWindow(MainwindowModel content) { this.DataContext = content; InitializeComponent(); //BindingData(content); } public void SaveViewContentToPdf(string path) { PdfXpsHelper.SaveViewContentToPdf(path, viewbox); } }
public class MainwindowModel
{
private string _lb1;
public string lb1 { get { return _lb1; } set { _lb1 = value; } }
public MainwindowModel()
{
lb1 = "This is a PDF files.";
}
}
MainwindowConsoleView public class MainwindowConsolView : MainWindow
{
public MainwindowConsolView(MainwindowModel dataContext)
: base(dataContext)
{ }
[STAThread]
public void ExportToPdf()
{
PdfXpsHelper.SaveViewContentToPdf("", this.Content as Viewbox);
}
}
pdfHelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.IO.Packaging;
using System.Windows.Xps.Packaging;
using System.Windows.Controls;
using System.Windows.Xps;
using System.Windows;
using System.Windows.Media.Imaging;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using System.Windows.Media;
namespace PDFSharpTest
{
public class PdfXpsHelper
{
public static string FileFolder;
private static int id = 0;
public static PdfDocument PdfFile = new PdfDocument();
public static void SaveViewContentToPdf(string path, Viewbox viewbox)
{
SaveMemoryStreamToPdf(path, SaveViewContentToMemoryStream(path, viewbox));
}
public static void SaveMemoryStreamToPdf(string path, MemoryStream lMemoryStream)
{
var pdfXpsDoc = PdfSharp.Xps.XpsModel.XpsDocument.Open(lMemoryStream);
if (String.IsNullOrWhiteSpace(path))
{
string myPath = @"C:/pdfreport" + ".pdf";
PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, myPath, 0);
id++;
}
else
PdfSharp.Xps.XpsConverter.Convert(pdfXpsDoc, path, 0);
}
public static MemoryStream SaveViewContentToMemoryStream(string path, Viewbox viewbox)
{
viewbox.StretchDirection = StretchDirection.Both;
MemoryStream lMemoryStream = new MemoryStream();
Package package = Package.Open(lMemoryStream, FileMode.Create);
XpsDocument doc = new XpsDocument(package);
XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(doc);
VisualsToXpsDocument vToXpsD = (VisualsToXpsDocument)writer.CreateVisualsCollator();
var newSize = new Size(0, 0);
if (!viewbox.IsLoaded || viewbox.RenderSize.Height <= 0 || viewbox.RenderSize.Width <= 0)
{
//newSize.Width = 816;
//newSize.Height = 1056;
newSize.Width = 950;
newSize.Height = 1150;
viewbox.Arrange(new Rect(newSize));
viewbox.Measure(newSize);
viewbox.UpdateLayout();
}
vToXpsD.Write(viewbox);
vToXpsD.EndBatchWrite();
doc.Close();
package.Close();
return lMemoryStream;
}
}
}
相關推薦
將WPF轉為PDF
利用第三方外掛PDFSARP 專案截圖 啟動專案,model類準備資料,WPF窗體展示資料,最後利用pdfsharp轉為pdf檔案 namespace Engine { class Program { [STAThread]
Java 將word轉為pdf jacob方式
name .aspx false quit void exception tof ant div package com.doctopdf; import java.io.File; import com.jacob.activeX.ActiveXComponent;
一個在瀏覽器端將html 轉為pdf 的js 外掛 jsPDF
<!DOCTYPE html> <html> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/h
怎麽將ppt轉為pdf?
slides bubuko 報告 soft shape for mps 迅捷pdf轉換器 reac PPT這個詞,就是演示的代名詞,比如工作報告,數據報告,各種演示文件都能在PPT上被制作出來,需要做的也就是打字添加圖片排班等,但是我們需要把PPT轉換為Word的時候卻又無
CAD實用乾貨,怎麼將CAD圖紙轉為PDF檔案
CAD實用乾貨,怎麼將CAD圖紙轉為PDF檔案?大家都是知道的,在CAD編輯器中編輯的圖紙基本上都是dwg格式的檔案,那這樣我們在進行檢視圖紙的時候就非常的不方便,那要怎麼辦了,就需要將CAD圖紙的格式進行轉換,那下面小編就來和大家分享一些CAD使用乾貨,怎麼將CAD圖紙轉換為PDF檔案?那下面就跟著小編的腳
CAD實用幹貨,怎麽將CAD圖紙轉為PDF文件
tex 右上角 圖片 基本 安裝 log 操作 窗口 分享圖片 CAD實用幹貨,怎麽將CAD圖紙轉為PDF文件?大家都是知道的,在CAD編輯器中編輯的圖紙基本上都是dwg格式的文件,那這樣我們在進行查看圖紙的時候就非常的不方便,那要怎麽辦了,就需要將CAD圖紙的格式進行轉換
用手機如何將Excel格式轉為PDF檔案
Excel表格是office辦公文件最常見的一種格式,它的獨特之處就在於它是表格形式,而且這種表格還有計算功能,統計資料、自動求和等、所以整理資料少不了它。通常整理完的資料不希望被改動,所以會將Excel轉為PDF格式,那怎樣轉化呢?接下來交教大家一個用手機轉換的簡單方法。 轉換工具:迅捷PDF轉換器 轉
用手機如何將Excel格式轉為PDF文件
希望 cbc 怎樣 文件格式轉換 出現 計數 自動 格式 轉pdf Excel表格是office辦公文檔最常見的一種格式,它的獨特之處就在於它是表格形式,而且這種表格還有計算功能,統計數據、自動求和等、所以整理資料少不了它。通常整理完的資料不希望被改動,所以會將Excel轉
java程式碼將word,excel轉為pdf
新建javaweb工程 下載aspouse-word-14.11.0-jdk16.jar包和aspose-cells-8.5.2.jar包並引入 word轉pdf的java函式 package webViewer; import java.io.*; import com.as
python 實現將office檔案 (word, ppt, excel等) 轉為pdf
python 實現將office檔案 (word, ppt, excel等) 轉為pdf 在 windows 系統(需安裝office套件)中,利用 python 的 win32com 包可以實現對Office檔案的操作,可以批量轉換為pdf檔案。支援 doc, docx, ppt,
OpenOffice 將word文件轉為pdf再轉為圖片
package com.ist.util; import java.awt.image.BufferedImage; import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; impor
Linux中使用命令列方式呼叫openoffice服務將word檔案轉為PDF
Linux中使用命令列方式呼叫openoffice服務將word檔案轉為PDF 測試安裝之後的openoffice用命令將docx檔案轉換為PDF 需要一份python的指令碼程式,因為轉換需要通過py程式去呼叫api處理,將下面程式儲存到topdf.py檔案: #
Java中使用phantomjs將HTML頁面轉為pdf
之前有個需求,將頁面轉為pdf,當時使用itext轉換,但是呢樣式與實際在瀏覽器中開啟的樣式存在差異。比如選擇項長得不一樣,CheckBox長得不一樣,這就不行,需求要跟瀏覽器開啟一模一樣,後經過多方面查詢,終於找到一個靠譜點的解決方案:使用phantomjs外掛。 首先下
將Ipython notebook轉為pdf
本來這不應該成為一個問題,因為在jupyter的file選單下面有download as pdf (via latex)選單專案,但是當你點了該選單項後,會出現一個錯誤的網頁提示: 那麼如何解決這個問題呢?本文談論這個問題。 1 電腦環境 Win
使用com.aspose.words將word模板轉為PDF亂碼解決方案(window下正常)
最近在做產品大成小管(大成小管),使用com.aspose.words將word模板轉為PDF檔案時,在開發平臺window下轉換沒有問題,中文也不會出現亂碼。但是將服務部署在正式伺服器(linux)上,轉換出來的PDF中文就出現了亂碼。在網上找了很久,才找到原因
javascript將html轉為圖片保存。
canvas () color can 實現 data url pan his js將html轉為圖片主要是通過html2canvas這個插件去操作的。具體實現如下: html部分: <!--index.html--> <div id="cont
如何將掃描的pdf圖片轉換成文字,方法竟然如此簡單?
圖片 辦公文檔 編輯器 提問:word、ppt、txt、pdf等常見辦公文檔格式那個最難編輯。回答肯定是pdf啦,因為pdf文件不能直接打開進行編輯,所以編輯pdf文件比較麻煩,下面就一起來看看實現pdf文件的編輯的方法。有的朋友會問,編輯pdf文件需不需要進行文字識別呢?小編的回答這不是絕對的。
python 將figure 寫入PDF
save 結果 來看 文件中 plot 方便 back 次循環 port 有些時候需要檢查python成圖的正確性,需要將figure 輸出來看看,但柑橘不是很方便,於是上網查到更好的辦法是將所有figure輸出到PDF文件,再檢查則更加方便。在matplotlib官網看到
如何下載CAD轉PDF轉換器,怎麽批量將CAD轉PDF
CAD制圖在設計行業還是運用的比較廣泛的,比如工程設計行業就需要經常需要CAD文件,如果我們想要將批量的CAD文件轉換成PDF文件,那麽我們應該怎麽進行轉換?批量CAD轉PDF軟件怎麽用,哪些軟件可以轉? 一、什麽軟件可以將批量的CAD文件轉換成PDF文件? 如果我們想要將批量的CAD文件轉換成PDF
JavaSE8基礎 StringBuffer toString 將其轉為String對象
res win rgs images ima eclips value () brush os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0)