2017-06-28 14 views
0

你知道如何将文档格式化成小卡片的尺寸有点麻烦吗?我试图给自己写一个程序,这样我就可以做到这一点,部分原因是因为我的笔迹不好,我需要写一些物理的“谢谢”卡片,部分原因是为了体验。C#窗体窗体 - 是否可以通过公制系统以编程方式确定文本大小?如果是这样,怎么样?

我打算这样做的方式是通过制作C#窗体窗体并根据卡的尺寸调整富文本框的大小。然后我将它转换成一个rtf文件,这样我就可以将它打印在实际上有打印机的计算机上。就我所知,事实是,只能使用像素作为度量标准来调整大小。像素不是一种非常一致的方式来衡量你打算在纸上打印的东西,因为它们完全取决于屏幕的分辨率。

我该如何使用像厘米这样的有形测量来调整大小?

+1

你可以将其导出为PDF可能?有一些pdf c#库,如果我没有记错的话,一旦指定了文件尺寸,例如字母,A4等,pdf像素就会有一个静态的高度/宽度... –

+2

您可以确定屏幕dpi并从那里计算。另外:您可以设置Graphics.PageUnit。 – TaW

+0

@ user3739842我不完全确定PDF文件如何工作,tbh。我通常不会打扰他们,因为我更喜欢制作可以编辑的文档。 – Anon

回答

-1

测量度量的位图是像素。 Bitmat格式有一块元数据,它是DPI(每英寸点数),用于通过简单的公式将像素大小转换为以厘米为单位的大小:

厘米=像素/ dpi * 2.54 当您正在构建您的图片类,你必须使用SetPropertyItem方法设置的元数据 - 这对于厘米 PropertyTagXResolution设置为“3” -

PropertyTagResolutionUnit在Y DPI只要PropertyTagResolutionUnit - 从本质上讲,只要PropertyTagResolutionUnit是以厘米 PropertyTagYResolution的X DPI以厘米为单位

请点击此链接,了解更多有关PropertyTag值: https://msdn.microsoft.com/en-us/library/ee491082.aspx

http://zigmaweb.com

相关问题