Как преобразовать необработанную строку PDF-файла в base64?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как преобразовать необработанную строку PDF-файла в base64?

Сообщение Anonymous »

Я пытаюсь преобразовать базовую строку необработанного файла PDF в формат Base64. Base64 генерируется правильно, но когда я декодирую его в настоящий PDF-файл, файл не может быть сгенерирован.
Я пробовал несколько других методов, также пробовал Charset.UTF_8, но кажется, ничего не работает.
Я не могу использовать настоящий PDF-файл, так как получаю строку от другого вызова службы, поэтому это всегда будет необработанная строка PDF-файла

Код: Выделить всё

        public String get() throws CustomException, IOException {

String testPDf = "%PDF-1.4\n" +
"%âãÏÓ\n" +
"1 0 obj\n" +
">\n" +
"endobj\n" +
"2 0 obj\n" +
">\n" +
"endobj\n" +
"3 0 obj\n" +
"\n" +
"   /MediaBox [0 0 612 792]\n" +
"   /Contents 4 0 R\n" +
">>\n" +
"endobj\n" +
"4 0 obj\n" +
">\n" +
"stream\n" +
"BT\n" +
"/F1 18 Tf\n" +
"100 100 Td\n" +
"(Hello, World!) Tj\n" +
"ET\n" +
"endstream\n" +
"endobj\n" +
"xref\n" +
"0 5\n" +
"0000000000 65535 f\n" +
"0000000018 00000 n\n" +
"0000000077 00000 n\n" +
"0000000175 00000 n\n" +
"0000000451 00000 n\n" +
"trailer\n" +
">\n" +
"startxref\n" +
"561\n" +
"%%EOF";

testPDf = testPDf.replaceAll("\n", "");

testPDf = toBase64(testPDf);

return testPDf;
}

public static String toBase64(String str) throws UnsupportedEncodingException {

byte[] bytes = str.getBytes("UTF-8");
String encoded = Base64.getEncoder().encodeToString(bytes);
return encoded;
}
Я использую онлайн-конвертер для проверки созданного base64.

Подробнее здесь: https://stackoverflow.com/questions/780 ... -to-base64
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»