

AWS 大型机现代化服务（托管运行时环境体验）不再向新客户开放。有关类似于 AWS 大型机现代化服务（托管运行时环境体验）的功能，请浏览 AWS 大型机现代化服务（自我管理体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# TXT2PDF 批处理实用程序
<a name="txt2pdf"></a>

TXT2PDF 是一种大型机实用程序，通常用于将文本文件转换为 PDF 文件。此实用程序使用相同的 TXT2 PDF 源代码（z/OS免费软件）。我们对其进行了修改，使其在 AWS 大型机现代化火箭软件（前身为 Micro Focus）运行时环境下运行。

**Topics**
+ [支持的平台](#txt2pdf-platforms)
+ [为 AWS 大型机现代化配置 TXT2 PDF 托管](#txt2pdf-configure-managed)
+ [在 Amazon EC2 上为 AWS 大型机现代化运行时配置 TXT2 PDF（包括 WorkSpaces 应用程序）](#txt2pdf-configure-customer-infra)
+ [示例 JCL](#txt2pdf-jcl)
+ [修改](#txt2pdf-mods)
+ [参考](#txt2pdf-ref)

## 支持的平台
<a name="txt2pdf-platforms"></a>

您可以在以下任何平台上使用 TXT2 PDF：
+ AWS 大型机现代化火箭软件托管
+ 火箭软件运行时（在亚马逊 EC2 上）
+ 火箭企业开发者 (ED) 和 Rocket Enterprise Server (ES) 产品的所有变体。

## 为 AWS 大型机现代化配置 TXT2 PDF 托管
<a name="txt2pdf-configure-managed"></a>

如果您迁移的应用程序在 AWS 大型机现代化管理版上运行，请按如下方式配置 TXT2 PDF。
+ 创建一个名为 `AWS.M2.REXX.EXEC` 的 REXX EXEC 库。下载这些 [REXX 模块](https://drm0z31ua8gi7.cloudfront.net/utilities/mf/TXT2PDF/rexx/TXT2PDF_rexx.zip)并将其复制到库中。
  + `TXT2PDF.rex`- TXT2 PDF z/OS 免费软件（已修改）
  + `TXT2PDFD.rex`- TXT2 PDF z/OS 免费软件（未修改）
  + `TXT2PDFX.rex`- TXT2 PDF z/OS 免费软件（已修改）
  + `M2GETOS.rex` – 检查操作系统类型（Windows 或 Linux）

要测试配置，请参阅[示例 JCL](#txt2pdf-jcl)。

## 在 Amazon EC2 上为 AWS 大型机现代化运行时配置 TXT2 PDF（包括 WorkSpaces 应用程序）
<a name="txt2pdf-configure-customer-infra"></a>

如果您迁移的应用程序在 Amazon EC2 AWS 的大型机现代化运行时上运行，请按如下方式配置 TXT2 PDF。

1. 将 Rocket Software 环境变量`MFREXX_CHARSET`设置为适当的值，例如 ASCII 数据的 “`A`”。
**重要**  
输入错误的值可能会导致数据转换问题（从 EBCDIC 到 ASCII），使生成的 PDF 无法读取或无法操作。我们建议设置 `MFREXX_CHARSET` 来匹配 `MF_CHARSET`。

1. 更改 [Micro Focus JES 程序路径](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html)以包含批处理实用程序的二进制位置。如果您需要指定多个路径，请在 Linux 上使用冒号 (`:`) 分隔路径，在 Windows 上使用分号 (`;`) 分隔路径。
   + Linux：`/opt/aws/m2/microfocus/utilities/64bit`
   + Windows（32 位）：`C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows（64 位）：`C:\AWS\M2\MicroFocus\Utilities\64bit`

1. 创建一个名为 `AWS.M2.REXX.EXEC`` 的 REXX EXEC 库。下载这些 [REXX 模块](https://drm0z31ua8gi7.cloudfront.net/utilities/mf/TXT2PDF/rexx/TXT2PDF_rexx.zip)并将其复制到库中。
   + `TXT2PDF.rex`- TXT2 PDF z/OS 免费软件（已修改）
   + `TXT2PDFD.rex`- TXT2 PDF z/OS 免费软件（未修改）
   + `TXT2PDFX.rex`- TXT2 PDF z/OS 免费软件（已修改）
   + `M2GETOS.rex` – 检查操作系统类型（Windows 或 Linux）

要测试配置，请参阅[示例 JCL](#txt2pdf-jcl)。

## 示例 JCL
<a name="txt2pdf-jcl"></a>

要测试安装，您可以使用以下其中一个示例 JCL 文件。

**TXT2PDF1.jcl**

此示例 JCL 文件使用 DD 名称进行 TXT2 PDF 转换。

```
//TXT2PDF1 JOB 'TXT2PDF1',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* PRE DELETE*
//*-------------------------------------------------------------------**
//*
//PREDEL  EXEC PGM=IEFBR14
//* 
//DD01     DD DSN=AWS.M2.TXT2PDF1.PDF.VB,                      
//            DISP=(MOD,DELETE,DELETE)
//*
//DD02     DD DSN=AWS.M2.TXT2PDF1.PDF,                       
//            DISP=(MOD,DELETE,DELETE)
//* 
//*-------------------------------------------------------------------**
//* CALL TXT2PDF TO CONVERT FROM TEXT TO PDF (VB)*
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=IKJEFT1B
//*
//SYSEXEC  DD DISP=SHR,DSN=AWS.M2.REXX.EXEC
//*
//INDD     DD *
1THIS IS THE FIRST LINE ON THE PAGE 1
0THIS IS THE THIRD LINE ON THE PAGE 1
-THIS IS THE   6TH LINE ON THE PAGE 1
THIS IS THE   7TH LINE ON THE PAGE 1
+____________________________________ - OVERSTRIKE 7TH LINE          
1THIS IS THE FIRST LINE ON THE PAGE 2
0THIS IS THE THIRD LINE ON THE PAGE 2
-THIS IS THE   6TH LINE ON THE PAGE 2 
THIS IS THE   7TH LINE ON THE PAGE 2
+____________________________________ - OVERSTRIKE 7TH LINE                 
/*
//*
//OUTDD    DD DSN=AWS.M2.TXT2PDF1.PDF.VB,
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(LRECL=256,DSORG=PS,RECFM=VB,BLKSIZE=0)
//*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD DDNAME=SYSIN
//*
//SYSIN    DD *
%TXT2PDF BROWSE Y IN DD:INDD +
OUT DD:OUTDD +
CC YES
/*
//*
//*-------------------------------------------------------------------**
//* CONVERT PDF (VB) TO PDF (LSEQ - BYTE STREAM)*
//*-------------------------------------------------------------------**
//* 
//STEP02 EXEC PGM=VB2LSEQ
//*
//INFILE   DD DSN=AWS.M2.TXT2PDF1.PDF.VB,DISP=SHR             
//*
//OUTFILE  DD DSN=AWS.M2.TXT2PDF1.PDF,                      
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(LRECL=256,DSORG=PS,RECFM=LSEQ,BLKSIZE=0)
//*
//SYSOUT   DD SYSOUT=*
//*
//
```

**TXT2PDF2.jcl**

此示例 JCL 使用 DSN 名称进行 TXT2 PDF 转换。

```
//TXT2PDF2 JOB 'TXT2PDF2',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* PRE DELETE*
//*-------------------------------------------------------------------**
//*
//PREDEL  EXEC PGM=IEFBR14
//* 
//DD01     DD DSN=AWS.M2.TXT2PDF2.PDF.VB,                      
//            DISP=(MOD,DELETE,DELETE)
//*
//DD02     DD DSN=AWS.M2.TXT2PDF2.PDF,                       
//            DISP=(MOD,DELETE,DELETE)
//* 
//*-------------------------------------------------------------------**
//* CALL TXT2PDF TO CONVERT FROM TEXT TO PDF (VB)*
//*-------------------------------------------------------------------**
//* 
//STEP01 EXEC PGM=IKJEFT1B
//*
//SYSEXEC  DD DISP=SHR,DSN=AWS.M2.REXX.EXEC
//*
//INDD     DD *
1THIS IS THE FIRST LINE ON THE PAGE 1
0THIS IS THE THIRD LINE ON THE PAGE 1
-THIS IS THE   6TH LINE ON THE PAGE 1
THIS IS THE   7TH LINE ON THE PAGE 1
+____________________________________ - OVERSTRIKE 7TH LINE          
1THIS IS THE FIRST LINE ON THE PAGE 2
0THIS IS THE THIRD LINE ON THE PAGE 2
-THIS IS THE   6TH LINE ON THE PAGE 2 
THIS IS THE   7TH LINE ON THE PAGE 2
+____________________________________ - OVERSTRIKE 7TH LINE                 
/*
//*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD DDNAME=SYSIN
//*
//SYSIN    DD *
%TXT2PDF BROWSE Y IN DD:INDD +
OUT 'AWS.M2.TXT2PDF2.PDF.VB' +
CC YES
/*
//*
//*-------------------------------------------------------------------**
//* CONVERT PDF (VB) TO PDF (LSEQ - BYTE STREAM)*
//*-------------------------------------------------------------------**
//*
//STEP02 EXEC PGM=VB2LSEQ
//*
//INFILE   DD DSN=AWS.M2.TXT2PDF2.PDF.VB,DISP=SHR             
//*
//OUTFILE  DD DSN=AWS.M2.TXT2PDF2.PDF,                      
//            DISP=(NEW,CATLG,DELETE),
//            DCB=(LRECL=256,DSORG=PS,RECFM=LSEQ,BLKSIZE=0)
//*
//SYSOUT   DD SYSOUT=*
//*
//
```

## 修改
<a name="txt2pdf-mods"></a>

为了让 TXT2 PDF 程序在 AWS 大型机现代化 Rocket Software 运行时环境中运行，我们进行了以下更改：
+ 修改源代码以确保与 Rocket Software REXX 运行时兼容
+ 为确保该程序可以同时在 Windows 和 Linux 操作系统上运行而进行了更改
+ 为支持 EBCDIC 和 ASCII 运行时而进行了修改

## 参考
<a name="txt2pdf-ref"></a>

TXT2PDF 参考和源代码：
+ [文本转 PDF 转换器](https://homerow.net/rexx/txt2pdf/)
+ [z/OS免费软件 TCP/IP 和邮件工具](http://www.lbdsoftware.com/tcpip.html)
+ [TXT2PDF 用户参考指南](http://www.lbdsoftware.com/TXT2PDF-User-Guide.pdf)