gpt4 book ai didi

c# - 仅打印嵌入到 ASP.NET 页面中的图像

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:52 30 4
gpt4 key购买 nike

我希望使用 C#、Microsoft Visual Studio、asp.net 进行打印。

目标:我正在尝试打印传真文档中的所有页面。

格式:传真文档作为一个包含多个页面的 .tiff 文件接收。

需要做什么:- 我需要迭代 .tiff 图像中的每一页并将它们全部打印出来。

// This function will iterate all pages, one at a time. //

protected void PrintAll_Click(object sender, EventArgs e)
{
// counts number of pages in the fax document.//
int number = _FaxPages.Count;

// for loop to iterate through each page. //
for (int i = 0; i < number; i++)
{
string _FaxId = Page.Request["FaxId"];

_PageIndex = i;

imgFax.ImageUrl = "ShowFax.ashx?n=" + _FaxId + "&f=" + _PageIndex + "&mw=750";

PrintAll.Attributes.Add("onclick", "return printing()");
}
}

在我的 Java 脚本中我有:

function printing() { window.print(); }

现在的问题是:

  1. 该函数仅打印一页(tiff 文件的最后一页)....它打印整个窗口,而不仅仅是整个 Web 浏览器窗口中嵌入的 .tiff 图像。

    关于如何只打印 .tiff 嵌入图像而不是整个网络浏览器窗口的任何想法。

  2. 尽管我的 for 循环遍历页面。只有在循环遍历所有页面并在最后一页(比如第 6/6 页)停止后,才会调用打印函数。然后它只打印最后一页(连同浏览器窗口中的其余内容)。这不是我想要发生的……我不想在浏览器窗口上打印所有多余的 Material ,例如按钮、链接等……我只想要浏览器窗口中的嵌入式 .tiff 图像。

最佳答案

您当前的代码将遍历服务器端的所有页面并更新图像 URL,然后再将页面发送到客户端。这意味着 ImageUrl 将始终只是您的最后一页。

打印所有图片,有多种方案:

  • 编辑您的 ShowFax.ashx,添加一次呈现所有传真页面的选项并将其放入图像 URL 中。
  • 在运行时将每个页面的新 Image 元素添加到父容器。
  • 让 javascript 函数 printing() 执行回发,增加页面索引和图像上的 URL,然后重复代码。
  • 创建整个循环客户端。

如果只打印图像,请使用 CSS 样式表隐藏其他元素并添加 media="print",如下所示:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

关于c# - 仅打印嵌入到 ASP.NET 页面中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586582/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com