文本文件可以有图像吗?

时间:2011-03-16 13:24:43

标签: delphi

现有功能是我们以下面的方式将数据写入文本文件。

var 
outfile : Textfile;
begin
  assignfile(outfile,apath);
  Rewrite(Outfile);
  writeln(outfile,'sample');
end;

我们有逻辑来对齐文本文件中的内容,然后将文本文件加载到报表查看器中,用户将能够将文本文件打印为打印输出或PDF。

要求是我们需要将1D和2D条形码图像作为此文本文件的一部分进行打印。有什么方法可以将条形码图像粘贴到文本文件中吗?我尝试将图像转换为流,然后再次将流保存在文本文件中,但它返回垃圾数据(不是图像)。还有其他选择吗?

7 个答案:

答案 0 :(得分:4)

Motif / X UIL specification包含一种以一种或多或少的人类可读方式将“ICON”编码为ASCII文件的方法。

有旧的X Bitmap format(XBM),它可以做你想要的(因为条形码是单色的)。 XBM文件基本上是C #include s。

但这些都需要特殊的读者。如果“text”文件本身必须可以直接扫描,您需要找到一种方法来使用ASCII Art,或者您不再使用文本文件。

嗯。让我感到震惊的另一种可能性是你可以尝试嵌入postscript命令,将打印机上的条形码生成到文本文件中。你必须欺骗你的打印机接受并从一个假定的“文本”文件执行它们。你最近乱砍你的打印机? : - )

答案 1 :(得分:3)

文本文件是文本文件。根据定义,它不能表示图像位图。

您可以将图片数据“保留”到文本文件中,例如首先通过Base64编码。您可以在以后从文件中读取数据时对其进行解码,以便检索图像。出于所有实际目的,这仍然是一种非常奇怪的图像文件存储方法。

如果 - 具体 - 你需要输出UPC条形码,那么你可以通过将代码写成ASCII模式来解决这个问题:

 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  █ ███   █ █ █ ██ ██ █ █ █  ██ █ █ ███ █
 ███  M E A N I N G L E S S █ █ U P C █ ███ █

由于您将文件带入报表查看器(我假设您将编写一些代码),因此您可能根本不需要文本文件中的可视数据。

您需要保留在文本文件中的所有内容都是

  1. 要使用的条形码制度类型
  2. 应该在代码中表示的基础字母数字信息
  3. 在查看器中加载文件时,您可以使用Barcode Generator

    呈现可视条形码

答案 2 :(得分:1)

通常,文本文件只能包含文本。您可能需要考虑使用可支持图像的文件类型,例如Word,HTML,OpenDocument等。

答案 3 :(得分:1)

  

要求是我们需要将1D和2D条形码图像作为此文本文件的一部分进行打印。有什么方法可以将条形码图像粘贴到文本文件中吗?

即可。如有疑问,请尝试在其中找到处理文本文件的其他应用程序,看看是否可以在其中包含图形。尝试将图像粘贴到以下应用程序中,它们都是文本编辑器:

你会发现它们都不能将图像放入文本文件中。

你能做什么

首先,你需要了解它不能用TEXT文件来完成。然后你就可以寻找替代品了。有许多格式能够同时保存文本和图形。最简单的可能是PDF文件,因为你肯定有一个与你的Delphi版本捆绑在一起的Report Generator,它可能能够保存PDF文件。您还可以查看许多其他内容:

  • RTF文件,但编码非常难看。你可能会依靠报告生成器来生成它。
  • PS档案。
  • TIFF或JPEG文件(图像文件;图像显然可以编码图像)。

答案 4 :(得分:0)

你的问题仍然有点模糊,但它比the one that was closed yesterday好。

我假设你想要一个文件中的条形码,以便可以打印然后扫描。如果不扫描条形码,那绝对没有意义。我还假设文本文件是以文本形式打印的,例如记事本。

根据这些假设,您的问题的答案是可扫描的条形码无法存储在文本文件中。

您可以通过多种方式解决问题:

  • 创建PDF并打印。有许多用于PDF创建的第三方工具。
  • 使用Office自动化(非常重型且有些脆弱的解决方案)。但实施起来非常快 - 只需几行代码。
  • 使用GDI命令直接打印到打印机。

答案 5 :(得分:0)

问题的简短回答是否定的。但是可能有办法满足您的要求......这取决于报表查看器的功能。它能理解PDF吗? PCL? RAVE?如果是这样,利用它。例如,如果您查看PCL文件,您会发现它实际上是带有一些PCL命令序列的文本。您可以创建一个包含基本标题信息的PCL文件(可能只是顶部的ESC +重置),然后是您的文本,然后是您的图像的一些奇特的PCL。如果我使用了解PCL的报表查看器,那就是我要研究的内容。

答案 6 :(得分:-1)

他们现在拥有这些很酷的文本文件,其扩展名为.html,通常被称为网络浏览器的东西查看。

他们在他们称之为互联网的这个很酷的东西上使用它们。

在HTML文件中,它们非常酷,称为图像标记。

一些比我更勇敢的人确信,甚至可以打印出这样一个文件,它有很酷的图形,图像和字体。

您还可以查看名为Fast Reports的非常棒的产品。与基于文本的打印系统相比,它使打印更容易,功能更强大。快速报告甚至具有条形码功能,这是您正在寻找的东西。