Illegal XML character exception in Importing data imprt manager
Did any one of you face Illegal XML character error while importing extracted data from ECC
I googled and found out XML parser does not like to find '<' '&' in the data , is that true? if so what was the work around ?? BTW we are getting DEBMDM customer data and import manager is bombing with these errors with every other file.
I know import server is a route , but any other solution?
-Sudhir
Hi Sudhir,
We had faced a similar situation when using extracted Material Master data from ECC.
We had some special characters in some of the fields like Material description such as (<,^,*,&,#@)etc.But these data were readily imported in MDM without much troubble.However there were some other fields which had error in the Date Formats and were not excepted by MDM
While automatically importing this data in MDM using the Import server the records failed throwing exceptions.
We then analysed the Source file carefully in Excel format by using Fillters and identified these Wrong date charactes which were giving troubble.
We corrected the dates and had no futher issues for the special character text we imported them with Data type Text Normalized and they passed corrrectly even with Data type as TEXT.
So I suggest that you analyses your data correctly in excel if required for better clearance and check for any futher in consisitencies in the dtaa for every field value.
Hope It Helped,
Thanks & Regards
Simona Pinto
Similar Messages
-
Deserialization error: XML parsing error: Illegal XML character
Hi All,
Anybody knows what caused this? This error occured at the client side when the server returned an object that contains other objects to client during a jaxrpc call. It worked before, something is definitely changed, I reversed my changes but still the same.
Please help, thanx a lot.
[java] java.rmi.RemoteException: Runtime exception; nested exception is:
[java] deserialization error: deserialization error: deserialization error: XML parsing error: com.sun.xml.rpc.sp.ParseException:2: Illegal XML character:
[java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:234)
[java] at com.ummq.ME_Stub.getMsg(MsgExpertIF_Stub.java:1333)
[java] at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
[java] at javax.swing.AbstractButton$ForwardActionEvents.actionPerforme
d(AbstractButton.java:1817)
[java] at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
[java] at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
[java] at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
[java] at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
[java] at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mous
eReleased(BasicMenuItemUI.java:943)
[java] at java.awt.Component.processMouseEvent(Component.java:5093)
[java] at java.awt.Component.processEvent(Component.java:4890)
[java] at java.awt.Container.processEvent(Container.java:1566)
[java] at java.awt.Component.dispatchEventImpl(Component.java:3598)
[java] at java.awt.Container.dispatchEventImpl(Container.java:1623)
[java] at java.awt.Component.dispatchEvent(Component.java:3439)
[java] at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
[java] at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
[java] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
[java] at java.awt.Container.dispatchEventImpl(Container.java:1609)
[java] at java.awt.Window.dispatchEventImpl(Window.java:1585)
[java] at java.awt.Component.dispatchEvent(Component.java:3439)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
[java] Caused by: deserialization error: deserialization error: deserialization error: XML parsing error: com.sun.xml.rpc.sp.ParseException:2: Illegal XML character:
[java] at com.sun.xml.rpc.encoding.SOAPDeserializationContext.deseriali
zeMultiRefObjects(SOAPDeserializationContext.java:65)
[java] before getMsg
[java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:175)
[java] ... 30 more
[java] java.rmi.RemoteException: Runtime exception; nested exception is:
[java] deserialization error: deserialization error: deserialization error: XML parsing error: com.sun.xml.rpc.sp.ParseException:2: Illegal XML character:
[java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:234)
[java] at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1161)
[java] at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1218)
[java] at javax.swing.JComboBox.contentsChanged(JComboBox.java:1265)
[java] at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:100)
[java] at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:88)
[java] at javax.swing.JComboBox.setSelectedItem(JComboBox.java:551)
[java] at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
[java] at javax.swing.AbstractButton$ForwardActionEvents.actionPerforme
d(AbstractButton.java:1817)
[java] at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
[java] at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
[java] at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
[java] at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
[java] at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mous
eReleased(BasicMenuItemUI.java:943)
[java] at java.awt.Component.processMouseEvent(Component.java:5093)
[java] at java.awt.Component.processEvent(Component.java:4890)
[java] at java.awt.Container.processEvent(Container.java:1566)
[java] at java.awt.Component.dispatchEventImpl(Component.java:3598)
[java] at java.awt.Container.dispatchEventImpl(Container.java:1623)
[java] at java.awt.Component.dispatchEvent(Component.java:3439)
[java] at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
[java] at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
[java] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
[java] at java.awt.Container.dispatchEventImpl(Container.java:1609)
[java] at java.awt.Window.dispatchEventImpl(Window.java:1585)
[java] at java.awt.Component.dispatchEvent(Component.java:3439)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
[java] Caused by: deserialization error: deserialization error: deserializa
tion error: XML parsing error: com.sun.xml.rpc.sp.ParseException:2: Illegal XML character:
[java] at com.sun.xml.rpc.encoding.SOAPDeserializationContext.deseriali
zeMultiRefObjects(SOAPDeserializationContext.java:65)
[java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:175)
[java] ... 39 moreWhat type of encoding are you using? Do you transform a string in an array of bytes or viceversa?
Marco -
How to filter some illegal rows when SQL Loader import data
I want to import data in a csv file by SQL Loader.
but , I don't want to import some illegal rows
when the column 'name' is null
how can I modify the SQL Loader ctrl file?Hi,
refer this blogpost:
http://gennick.com/allnull.html
thanks,
X A H E E R -
Illegal XML character SAX Parser exception
The element type "body" must be terminated by the matching end-tag "". i get this exception, its thrown from the SAXParser. if you look at the end tag it shows you an empty string end-tag "". . This should get displayed as end-tag "</body>". instead.
What can i do to make it displayed as end-tag "</body" . There are loads of similar issues on-line, but non of them had a satisfactory answer.
help !and thanks for the replies :)Most of the replies you thank pointed you at searching how to escape HTML markup when copying the plain text to an HTML document. DId you consider doing this search?
For example, Jakarta's Commons-Lang library has a [StringEscapeUtils class|http://commons.apache.org/lang/api-release/org/apache/commons/lang/StringEscapeUtils.html] with methods that seem to provide just this capability.
now what i think i should do is, to append the auto generated error message with some special characters so it could display in html.No. The "special characters", or merely, special markup, are what makes the browser not render the string correctly (it probably thinks +</body>+ is the closing tag of the similarly-named HTML element. You need to escape this markup, or a at least the lower/greater signs that make it look like markup.
but how can i chnage the auto generated message ?You shouldn't strive to change the message itself, but to convert it to something that renders correctly when embedded into an HTML document.
Edited by: jduprez on Mar 17, 2010 12:35 PM -
Invalid XML Character from Jarred file
I have a server class that attempts to load an XML file and parse the same.
The entire code works fine when the class is extracted and parses correctly. However, when
a distribution jar is created, the extraction of the XML file fails with an invalid character
exception.
124.0.24,5,RMI Runtime]
10/15/04 3:31:59 PM user=server stackTrace=org.xml.sax.SAXParseException: Illegal XML character: �.
at org.apache.crimson.parser.InputEntity.fatal(InputEntity.java:1100)
at org.apache.crimson.parser.InputEntity.getc(InputEntity.java:360)
at org.apache.crimson.parser.Parser2.getc(Parser2.java:3166)
at org.apache.crimson.parser.Parser2.maybeComment(Parser2.java:1042)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1935)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1654)Why this is happening I have no clue. The XML file in the jar is the same as the
XML file in the un-jarred directory. Any assistance would be appreciated in advance :-).
InputStream inStream = null;
try {
inStream = this.getClass().getResourceAsStream(
"/global/service/admin/" + "test-resource.xml");
byte arr[] = new byte[inStream.available()];
inStream.read(arr);
inStream.close();
String cfg = new String(arr);
Document doc = null;
DocumentBuilderFactory docFactory
= DocumentBuilderFactory.newInstance();
DocumentBuilder parser = docFactory.newDocumentBuilder();
doc = parser.parse(new InputSource(new StringReader(cfg)));
handleDocument(doc);
} catch (Exception exp) {
Log.error(exp);
} finally {
if (inStream != null) {
try {
inStream.close();
} catch (IOException e) {
}Thanks in advanceThanks for the input. Once I changed the code to directly use input stream, it worked like a charm even from the jar file.
While experimenting, I found the following:
<foos>
<foo> test</foo>
<foo>test2</foo>
</foos>If the line between the two foo elements were removed, the jar one worked with my original code. However, with the input stream it seems to not care. I had build the XML file on a Solaris box using 'vi' and the application was also run from solaris. -
Illegal character in Base64 encoded data
Hi,
I'm trying to get a print out the public key as a String, which I am getting it in as a base64 encoded, but I get error:
Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in Base64 encoded data.
Code below:
public static void main(String[] args) {
File pubKeyFile = new File("C:\\usercert.pem");
StringBuffer buffer = new StringBuffer();
try {
FileInputStream fis = new FileInputStream(pubKeyFile);
try {
InputStreamReader isr = new InputStreamReader(fis, "UTF8");
Reader in = new BufferedReader(isr);
int ch;
while((ch = in.read()) > -1) {
buffer.append((char)ch);
in.close();
String key = buffer.toString();
System.out.println("key is: " + key);
//This is where the code fails:
String keyDecode = Base64.decodeString(key);
System.out.println("key ecode is: " + keyDecode);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}Hi ejp,
It's a rsa public, the usercert.pem looks like below,
so since it's not an x509 certificate not sure if I
can read it using a
java.security.cert.CertificateFactory?
Basically I just want to print the public and private
key out as a String. Any help is appreciated.
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCg8yo6rDhsNiwUfV
R37HgF4bWq
oG13Nd9XLT+Z0VLzCkWJZOdzGNQnnm7ujoQ8gbxeDvIo9RG5I3eZte
BwD91Nf6P/
E9lvJQDL2Qnz4EXH/CVW9DeEfvY1UJN9kc6q6KkYEPWssvVvlDOp2s
lbEKZCJtaP
vVuGCAqfaps8J0FjOQIDAQAB
-----END PUBLIC KEY-----
import java.security.KeyFactory;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.X509EncodedKeySpec;
import sun.misc.BASE64Decoder;
public class MakeRSAPublicKeyFromPEM
public static void main(String[] args) throws Exception
final String publickeyAsString =
"-----BEGIN PUBLIC KEY-----\n"+
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCg8yo6rDhsNiwUfVR37HgF4bWq\n"+
"oG13Nd9XLT+Z0VLzCkWJZOdzGNQnnm7ujoQ8gbxeDvIo9RG5I3eZteBwD91Nf6P/\n"+
"E9lvJQDL2Qnz4EXH/CVW9DeEfvY1UJN9kc6q6KkYEPWssvVvlDOp2slbEKZCJtaP\n"+
"vVuGCAqfaps8J0FjOQIDAQAB\n"+
"-----END PUBLIC KEY-----\n";
final BASE64Decoder decoder = new BASE64Decoder();
final byte[] publicKeyAsBytes = decoder.decodeBuffer(publickeyAsString.replaceAll("-+.*?-+",""));
final X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKeyAsBytes);
final KeyFactory keyFactory = KeyFactory.getInstance("RSA");
final RSAPublicKey publicKey = (RSAPublicKey)keyFactory.generatePublic(publicKeySpec);
System.out.println("Modulus ........... " + publicKey.getModulus());
System.out.println("Public exponent ... " + publicKey.getPublicExponent());
} -
Error while importing data from XML file to a Oracle database
I am getting the following error while importing data
*** atg.xml.XMLFileException: No XML files were found for "/Dynamusic/config/dynamusic/songs-data.xml".
The files must be located under the name "/Dynamusic/config/dyna
*** java.io.FileNotFoundException: D:\MyApp\ATG\ATG10.0.3 (Access is denied)
java.io.FileNotFoundException: D:\MyApp\ATG\ATG10.0.3 (Access is denied)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at atg.adapter.gsa.xml.TemplateParser.importFiles(TemplateParser.java:6675)
at atg.adapter.gsa.xml.TemplateParser.runParser(TemplateParser.java:5795)
at atg.adapter.gsa.xml.TemplateParser.main(TemplateParser.java:5241)
I have placed the FakeXADataSource and JTDataSource properties files as required. In fact I have been able to import data in all machines. Just this one machine is giving problems. I have also checked out the access rights. Can someone help me please?Confirm that you have access to D:\MyApp\ATG\ATG10.0.3 and existence of Dynamusic/config/dynamusic/songs-data.xm
-
Importing Data from Excel (XML) into Adobe - Multiple Lines
I have a form that I have created in Adobe Life Cycle Designer 4.
All the data I need is now stored in an XML file that was created in Excel.
When I attempt to import the data into Adobe Acrobat using the "Import Data" feature, it only imports the first line of data, but we have over 500 records that we would like to generate into 500 filled forms
Each line of data represents 1 entire form and all the fields. The importation works just fine on the first line of data and the fields get populated properly, but I am trying to find a way of importing each line so that each line
generates a "filled out form".
In essence, there would be 500 PDF's generated, each one with unique data based on the data in each line of the XML file.
Any help here would be greatly appreciated
Thank you in advance!
Regards,
NizarThere are two options
1. try to use SQL*Loader utility.
2. Make JDBC ODBC connection to Excel file and use JDBC queries to read and store data to database. The name of first row columns are used as table columns. The java code example for this is posted below,
Connection con= null;
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con= DriverManager.getConnection("jdbc:odbc:GC", "", "");
Statement stmt= con.createStatement();
ResultSet rs= stmt.executeQuery("select username, password from userlogin");
while (rs.next())
String lname = rs.getString(1);
String fname = rs.getString(2);
System.out.println(fname + " " + lname);
rs.close();
System.out.println(con.isClosed());
stmt.close();
finally
if (con != null)
con.close();
} -
Import data from xml using ssis
Using Sql Server 2012 STD edition, SSDT (Visual Studio 2010 shell, .net framework 4.0.3 SP1
I am trying to import data from an xml file using ssis.
Here are the three options I tried and none worked. Please see errors that I encountered in all options and let me know what I can do to import this data in sql
server.
I created a new ssis project with an ssis package. I pulled a data flow task on the control flow. On the data flow tab I pulled an xml source and a sql server
destination. Now I tried to configure the xml source task in the the following three ways, but none worked.
1. I browse the xml file to set xml location. Browse the xsd file to set xsd location, then click ok. I get the following error:
HRESULT errorcode 0xC02090CF from a method call. There was an error setting up the mapping. Undefined complex Type 'gml_V4.1_Release:PolygonType'
is used as a base for complex type extension
2. I browse the xml file to set xml location. check "Use inline schema" Click ok. Error:
HRESULT errorcode 0xC020929E from a method call. The xml source adapter was unable to process the XML data. Multiple inline schemas are not supported.
3.I browse the xml file to set xml location. Click "Generate XSD". Error: The supplied xml instance is a schema or contains inline schema. The
class cannot infer a schema for a schema.
Thank you for your help.Hi ,
I think something problem with the XSD file i too faced somewhat same problem, i have created XSD file from the following link and tried in my package it has worked why don't u try to create xsd file from following link and try again once.
http://xmlgrid.net/xml2xsd.html
Niraj Sevalkar -
Hi everyone,
I am facing a problem while importing sql-server 2000 data in
excelshhet .There is some chinese character in database table.
After importing data in excel chinese character looks like
????????.In sql-server this chinese character looks like square
field.
I am using UTF-8 .
This is last hope.
vijay k singh
TextI was having the same problem with the AIRSQL i couldn't find how to rencode my csv file...
So i resave the csv in xls and then chose the utf-8 thingy and then just changed the extension back to csv.
i was always wondering why i had an xls file in my source code, which was just left there from the previous reencoding, i guess
hope it helps -
Fix Invalid XML character (Unicode: 0x1c) before xml data parsing
How to fix the error :- "An invalid XML character (Unicode: 0x1c) was found in the element content of the document."
This error message is generated before parsing of xml data.
So how to filter the unwanted characters like 0x1c during XML file generation?ASCII has nothing to do with it. XML is a text format and so an XML file may only include text characters. 0x7 isn't a text character, it's a control character, and it isn't allowed to occur in an XML file.
As for how to identify which character is causing the problem, the error message tells you that. -
Possible to use JavaScript to Import Data from XML file to pre-fill fields?
Hi,
I have a dynamic fill-in PDF that I want to "pre-fill" internally in my company before sending out to users who will change any pre-filled fields necessary and answer questions we did not already answer.
We do not have LiveCycle Reader Extensions, but we can use Acrobat to import data from an XML document to pre-fill the named fields. Is it possibly to do this task using folder-level Javascript or some other method? I can look into this, and post my findings, but I'd like to know if it's possible or if I need to use a different programming language.Hi,
I am afraid that solution was for a specific client and I can't share it. If I get a chance I will mock up an example, but this wont be for a while. From memory it was just a straight importData method. This would normally fail silently in a non-certified form, but when the form is digitally signed/certified, it works without a hitch.
Good luck,
Niall -
Importing data- using xml file into HANA Table
Hi,
We are using (HDB STUDIO ) - revision 60.......
Is it possible to import data using XML file into HANA table (Master,Fact tables)?
(Without using any intermediate adapters for conversion of data.....)
Can any one suggest us........
Thank you.Hi user450616
I am a bit confused about what you are trying to achieve.
Are you:
1. importing a CSV file into APEX
2. adding an extra column to the Oracle Table
3. populating the extra column with the CSV filename?
Let us know if this is what you are trying to do.
Cheers,
Patrick Cimolini -
Import data from XML file into ICM script
Hello,
Is it possible to read data from an XML file into an ICM Admin script? If yes, using which node?
Thanks,
Justine.Hi,
as far as i know not directy. Only Method i could think of right now is via CVP Application (Java Class, Custom Node) or IVR Script.
To import data you only have the Database Node which does only allow sources form the Database Lookup Explorer ir passing data along to/from external scripts.
Fabian -
Invalid character error while activating data in DSO.
Hi Experts,
We are facing an issue with presence of invalid characters in data from source. This throws SID generation error while activating data in DSO. Long text of error shows like this:
"Value " ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ" (HEX 000D0120012001200120012001200120012001200120012001) of characteristic contains an error at position 1"
Also we've tried adding the character " Ġ " in TCode RSKC, but it then shows as a rectangle box which I'm not able to copy manually(looks like a blank space or something of that sort).
We've tried implementing routine to remove special characters while loading data, but still it fails. Due to huge amounts of data, its practically unfeasible to check each record manually.
Any useful suggestions will be acknowledged.
regards,
anoopHi,
We are using following code for the same purpose. U can use it at infoobject level mapping. This code will check value of each character in the data coming, whether it is in RSKC, if it is a allowed one then it will be passed as it is. Otherwise it will replace that character by space.
data: l_d_length like sy-index,
l_d_char type c,
l_d_index type sy-index,
l oopx like sy-tabix.
data : xinfobj(30) type c value 'RABC'. -> this is ur infoobject name
clear : result.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = tran_strucutre-XYZ -> object name in ur structure
importing
output = result.
l_d_length = strlen( result ).
do l_d_length times.
l_d_index = sy-index - 1.
l_d_char = result+l_d_index(1).
call function 'RSKC_CHAVL_OF_IOBJ_CHECK'
exporting
i_chavl = l_d_char
i_iobjnm = xinfobj
I_S_COB_PRO =
I_T_COB_PRO_CMP =
exceptions
chavl_not_allowed = 1
others = 2
if sy-subrc <> 0.
result+l_d_index(1) = ' '.
endif.
enddo.
Regards;
Jitendra
Maybe you are looking for
-
Two Deliveries did not go through Batch Job Runing
Hi, In this company every evening the automatic batch Job for Billing due list is run but on Nov 23 one Deliver and on Nov 30 another delivery has not gone through i.e. the invoices were not created for these two deliveries. I checked in VF01, the in
-
Issue in Hybris Catalog import in AEM
After successfully importing the catalog from hybris to AEM, I am facing the following problems (a) Renditioning of the original image passed by hybris is not working. I can find that the DAM work flow is getting triggered for performing the renditio
-
Duplicate concentric dots while keeping numbers upright
I'm trying to illustrate several concentric circles shaped with dots containing numbers, as follows: Right now, I'm creating the circle patterns by rotating copies of the shape by even degree amounts. Each circle aside from the center one is a multip
-
RRMX opens a default report. How to change this setting ?????
Hi all, If we type RRMX transaction code, it should go to BEx, but user has reported that whenever he types RRMX it opens a particular REPORT. How can we change this setting so that the default report will not be opened, PLEASE ? It seems it start
-
Pinch and Zoom PDFs for phones and tablets
Hi, I can pinch and zoom PDF files on my phone / tablet. However when doing this I would like the document to automatically reformat to fit the screen horizontally. This would enable me to read a PDF enlarged to a text size comfortable to me AND only